1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. 4 */ 5 6 #define EFI_STATUS int 7 #define VOID void 8 #define INT16 int16_t 9 #define UINT16 uint16_t 10 #define INT8 int8_t 11 #define UINT8 uint8_t 12 #define INT32 int32_t 13 #define UINT32 uint32_t 14 #define STATIC static 15 #define IN /**/ 16 #define OUT /**/ 17 #define EFIAPI /**/ 18 19 #define EFIERR(a) (a) 20 #define EFI_SUCCESS 0 21 #define EFI_LOAD_ERROR EFIERR (1) 22 #define EFI_INVALID_PARAMETER EFIERR (2) 23 #define EFI_UNSUPPORTED EFIERR (3) 24 #define EFI_BAD_BUFFER_SIZE EFIERR (4) 25 #define EFI_BUFFER_TOO_SMALL EFIERR (5) 26 #define EFI_NOT_READY EFIERR (6) 27 #define EFI_DEVICE_ERROR EFIERR (7) 28 #define EFI_WRITE_PROTECTED EFIERR (8) 29 #define EFI_OUT_OF_RESOURCES EFIERR (9) 30 #define EFI_VOLUME_CORRUPTED EFIERR (10) 31 #define EFI_VOLUME_FULL EFIERR (11) 32 #define EFI_NO_MEDIA EFIERR (12) 33 #define EFI_MEDIA_CHANGED EFIERR (13) 34 #define EFI_NOT_FOUND EFIERR (14) 35 #define EFI_ACCESS_DENIED EFIERR (15) 36 #define EFI_NO_RESPONSE EFIERR (16) 37 #define EFI_NO_MAPPING EFIERR (17) 38 #define EFI_TIMEOUT EFIERR (18) 39 #define EFI_NOT_STARTED EFIERR (19) 40 #define EFI_ALREADY_STARTED EFIERR (20) 41 #define EFI_ABORTED EFIERR (21) 42 #define EFI_ICMP_ERROR EFIERR (22) 43 #define EFI_TFTP_ERROR EFIERR (23) 44 #define EFI_PROTOCOL_ERROR EFIERR (24) 45 #define EFI_INCOMPATIBLE_VERSION EFIERR (25) 46 #define EFI_SECURITY_VIOLATION EFIERR (26) 47 #define EFI_CRC_ERROR EFIERR (27) 48 #define EFI_END_OF_MEDIA EFIERR (28) 49 #define EFI_END_OF_FILE EFIERR (31) 50 #define EFI_INVALID_LANGUAGE EFIERR (32) 51 52 #define EFIWARN(a) ((a)+EFI_INVALID_LANGUAGE) 53 #define EFI_WARN_UNKNOWN_GLYPH EFIWARN (1) 54 #define EFI_WARN_DELETE_FAILURE EFIWARN (2) 55 #define EFI_WARN_WRITE_FAILURE EFIWARN (3) 56 #define EFI_WARN_BUFFER_TOO_SMALL EFIWARN (4) 57 58 #define EFI_ERROR(Status) (Status != 0 && Status < EFIWARN(1)) 59 60 EFI_STATUS 61 EfiCompress ( 62 IN UINT8 *SrcBuffer, 63 IN UINT32 SrcSize, 64 IN UINT8 *DstBuffer, 65 IN OUT UINT32 *DstSize 66 ); 67 68 EFI_STATUS 69 EFIAPI 70 EfiGetInfo ( 71 IN VOID *Source, 72 IN UINT32 SrcSize, 73 OUT UINT32 *DstSize, 74 OUT UINT32 *ScratchSize 75 ); 76 77 EFI_STATUS 78 EFIAPI 79 EfiDecompress ( 80 IN VOID *Source, 81 IN UINT32 SrcSize, 82 IN OUT VOID *Destination, 83 IN UINT32 DstSize, 84 IN OUT VOID *Scratch, 85 IN UINT32 ScratchSize 86 ); 87