Home | History | Annotate | Download | only in include
      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