161362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 261362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson * Use of this source code is governed by a BSD-style license that can be 361362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson * found in the LICENSE file. 461362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson */ 561362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson 661362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_STATUS int 761362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define VOID void 861362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define INT16 int16_t 961362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define UINT16 uint16_t 1061362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define INT8 int8_t 1161362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define UINT8 uint8_t 1261362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define INT32 int32_t 1361362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define UINT32 uint32_t 1461362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define STATIC static 1561362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define IN /**/ 1661362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define OUT /**/ 1761362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFIAPI /**/ 1861362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson 1961362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFIERR(a) (a) 2061362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_SUCCESS 0 2161362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_LOAD_ERROR EFIERR (1) 2261362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_INVALID_PARAMETER EFIERR (2) 2361362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_UNSUPPORTED EFIERR (3) 2461362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_BAD_BUFFER_SIZE EFIERR (4) 2561362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_BUFFER_TOO_SMALL EFIERR (5) 2661362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_NOT_READY EFIERR (6) 2761362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_DEVICE_ERROR EFIERR (7) 2861362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_WRITE_PROTECTED EFIERR (8) 2961362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_OUT_OF_RESOURCES EFIERR (9) 3061362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_VOLUME_CORRUPTED EFIERR (10) 3161362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_VOLUME_FULL EFIERR (11) 3261362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_NO_MEDIA EFIERR (12) 3361362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_MEDIA_CHANGED EFIERR (13) 3461362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_NOT_FOUND EFIERR (14) 3561362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_ACCESS_DENIED EFIERR (15) 3661362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_NO_RESPONSE EFIERR (16) 3761362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_NO_MAPPING EFIERR (17) 3861362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_TIMEOUT EFIERR (18) 3961362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_NOT_STARTED EFIERR (19) 4061362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_ALREADY_STARTED EFIERR (20) 4161362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_ABORTED EFIERR (21) 4261362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_ICMP_ERROR EFIERR (22) 4361362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_TFTP_ERROR EFIERR (23) 4461362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_PROTOCOL_ERROR EFIERR (24) 4561362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_INCOMPATIBLE_VERSION EFIERR (25) 4661362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_SECURITY_VIOLATION EFIERR (26) 4761362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_CRC_ERROR EFIERR (27) 4861362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_END_OF_MEDIA EFIERR (28) 4961362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_END_OF_FILE EFIERR (31) 5061362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_INVALID_LANGUAGE EFIERR (32) 5161362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson 5261362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFIWARN(a) ((a)+EFI_INVALID_LANGUAGE) 5361362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_WARN_UNKNOWN_GLYPH EFIWARN (1) 5461362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_WARN_DELETE_FAILURE EFIWARN (2) 5561362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_WARN_WRITE_FAILURE EFIWARN (3) 5661362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_WARN_BUFFER_TOO_SMALL EFIWARN (4) 5761362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson 5861362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson#define EFI_ERROR(Status) (Status != 0 && Status < EFIWARN(1)) 5961362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson 6061362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill RichardsonEFI_STATUS 6161362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill RichardsonEfiCompress ( 6261362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN UINT8 *SrcBuffer, 6361362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN UINT32 SrcSize, 6461362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN UINT8 *DstBuffer, 6561362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN OUT UINT32 *DstSize 6661362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson ); 6761362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson 6861362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill RichardsonEFI_STATUS 6961362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill RichardsonEFIAPI 7061362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill RichardsonEfiGetInfo ( 7161362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN VOID *Source, 7261362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN UINT32 SrcSize, 7361362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson OUT UINT32 *DstSize, 7461362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson OUT UINT32 *ScratchSize 7561362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson ); 7661362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson 7761362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill RichardsonEFI_STATUS 7861362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill RichardsonEFIAPI 7961362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill RichardsonEfiDecompress ( 8061362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN VOID *Source, 8161362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN UINT32 SrcSize, 8261362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN OUT VOID *Destination, 8361362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN UINT32 DstSize, 8461362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN OUT VOID *Scratch, 8561362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson IN UINT32 ScratchSize 8661362d65fcdd6f6aff90fc5be51237b39cfeb9aeBill Richardson ); 87