mirror of https://github.com/acidanthera/audk.git
Update MdePkg/Include/Uefi according to code review comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6157 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
4f06d35a0f
commit
e0c047a04b
|
@ -1,5 +1,4 @@
|
|||
/** @file
|
||||
|
||||
Defines data types and constants introduced in UEFI.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
|
@ -18,33 +17,42 @@
|
|||
|
||||
#include "Base.h"
|
||||
|
||||
///
|
||||
/// Basical data type definitions introduced in UEFI.
|
||||
///
|
||||
typedef GUID EFI_GUID;
|
||||
//
|
||||
// Basical data type definitions introduced in UEFI.
|
||||
//
|
||||
|
||||
///
|
||||
/// 128-bit buffer containing a unique identifier value.
|
||||
///
|
||||
typedef GUID EFI_GUID;
|
||||
///
|
||||
/// Function return status for EFI API
|
||||
///
|
||||
typedef RETURN_STATUS EFI_STATUS;
|
||||
///
|
||||
/// A collection of related interfaces.
|
||||
///
|
||||
typedef VOID *EFI_HANDLE;
|
||||
|
||||
///
|
||||
/// Handle to an event structure.
|
||||
///
|
||||
typedef VOID *EFI_EVENT;
|
||||
|
||||
///
|
||||
/// Task priority level.
|
||||
///
|
||||
typedef UINTN EFI_TPL;
|
||||
|
||||
|
||||
///
|
||||
/// Logical block address.
|
||||
///
|
||||
typedef UINT64 EFI_LBA;
|
||||
|
||||
|
||||
typedef UINT16 STRING_REF;
|
||||
|
||||
typedef UINT64 EFI_PHYSICAL_ADDRESS;
|
||||
typedef UINT64 EFI_VIRTUAL_ADDRESS;
|
||||
|
||||
typedef UINT16 STRING_REF;
|
||||
|
||||
///
|
||||
/// EFI Time Abstraction:
|
||||
/// Year: 2000 - 20XX
|
||||
/// Year: 1998 - 20XX
|
||||
/// Month: 1 - 12
|
||||
/// Day: 1 - 31
|
||||
/// Hour: 0 - 23
|
||||
|
@ -68,21 +76,31 @@ typedef struct {
|
|||
} EFI_TIME;
|
||||
|
||||
|
||||
//
|
||||
// Networking Definitions
|
||||
//
|
||||
///
|
||||
/// 4-byte buffer. An IPv4 internet protocol address.
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Addr[4];
|
||||
} EFI_IPv4_ADDRESS;
|
||||
|
||||
///
|
||||
/// 16-byte buffer. An IPv6 internet protocol address
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Addr[16];
|
||||
} EFI_IPv6_ADDRESS;
|
||||
|
||||
///
|
||||
/// 32-byte buffer containing a network Media Access Control address.
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Addr[32];
|
||||
} EFI_MAC_ADDRESS;
|
||||
|
||||
///
|
||||
/// 16-byte buffer aligned on a 4-byte boundary.
|
||||
/// An IPv4 or IPv6 internet protocol address.
|
||||
///
|
||||
typedef union {
|
||||
UINT32 Addr[4];
|
||||
EFI_IPv4_ADDRESS v4;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
EFI Guid Partition Table Format Definition.
|
||||
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -15,6 +15,10 @@
|
|||
#ifndef __UEFI_GPT_H__
|
||||
#define __UEFI_GPT_H__
|
||||
|
||||
///
|
||||
/// The primary GUID Partition Table Header must be
|
||||
/// located in LBA 1 (i.e., the second logical block).
|
||||
///
|
||||
#define PRIMARY_PART_HEADER_LBA 1
|
||||
|
||||
///
|
||||
|
@ -52,14 +56,6 @@ typedef struct {
|
|||
CHAR16 PartitionName[36];
|
||||
} EFI_PARTITION_ENTRY;
|
||||
|
||||
///
|
||||
/// GPT Partition Entry Status
|
||||
///
|
||||
typedef struct {
|
||||
BOOLEAN OutOfRange;
|
||||
BOOLEAN Overlap;
|
||||
} EFI_PARTITION_ENTRY_STATUS;
|
||||
|
||||
#pragma pack()
|
||||
#endif
|
||||
|
||||
|
|
|
@ -32,45 +32,31 @@ typedef UINT16 EFI_QUESTION_ID;
|
|||
typedef UINT16 EFI_STRING_ID;
|
||||
typedef UINT16 EFI_FORM_ID;
|
||||
typedef UINT16 EFI_VARSTORE_ID;
|
||||
|
||||
typedef UINT16 EFI_DEFAULT_ID;
|
||||
|
||||
typedef UINT32 EFI_HII_FONT_STYLE;
|
||||
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
//
|
||||
// Definitions for Package Lists and Package Headers
|
||||
// Section 27.3.1
|
||||
//
|
||||
|
||||
///
|
||||
/// HII package list
|
||||
/// The header found at the start of each package list.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_GUID PackageListGuid;
|
||||
UINT32 PackageLength;
|
||||
} EFI_HII_PACKAGE_LIST_HEADER;
|
||||
|
||||
/**
|
||||
|
||||
Each package starts with a header, as defined above, which
|
||||
indicates the size and type of the package. When added to a
|
||||
pointer pointing to the start of the header, Length points at
|
||||
the next package. The package lists form a package list when
|
||||
concatenated together and terminated with an
|
||||
EFI_HII_PACKAGE_HEADER with a Type of EFI_HII_PACKAGE_END. The
|
||||
type EFI_HII_PACKAGE_TYPE_GUID is used for vendor-defined HII
|
||||
packages, whose contents are determined by the Guid. The range
|
||||
of package types starting with EFI_HII_PACKAGE_TYPE_SYSTEM_BEGIN
|
||||
through EFI_HII_PACKAGE_TYPE_SYSTEM_END are reserved for system
|
||||
firmware implementers.
|
||||
|
||||
@param Length The size of the package in bytes.
|
||||
|
||||
@param Type The package type. See EFI_HII_PACKAGE_TYPE_x,
|
||||
below.
|
||||
|
||||
@param Data The package data, the format of which is
|
||||
determined by Type.
|
||||
|
||||
**/
|
||||
///
|
||||
/// The header found at the start of each package.
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 Length:24;
|
||||
UINT32 Type:8;
|
||||
|
@ -78,7 +64,7 @@ typedef struct {
|
|||
} EFI_HII_PACKAGE_HEADER;
|
||||
|
||||
//
|
||||
// EFI_HII_PACKAGE_TYPE_x.
|
||||
// Value of HII package type
|
||||
//
|
||||
#define EFI_HII_PACKAGE_TYPE_ALL 0x00
|
||||
#define EFI_HII_PACKAGE_TYPE_GUID 0x01
|
||||
|
@ -94,16 +80,17 @@ typedef struct {
|
|||
#define EFI_HII_PACKAGE_TYPE_SYSTEM_END 0xFF
|
||||
|
||||
//
|
||||
// Simplified Font Package
|
||||
// Definitions for Simplified Font Package
|
||||
// Section 27.3.2
|
||||
//
|
||||
|
||||
#define EFI_GLYPH_HEIGHT 19
|
||||
#define EFI_GLYPH_WIDTH 8
|
||||
//
|
||||
// Contents of EFI_NARROW_GLYPH.Attributes
|
||||
//
|
||||
#define EFI_GLYPH_NON_SPACING 0x01
|
||||
#define EFI_GLYPH_WIDE 0x02
|
||||
#define EFI_GLYPH_HEIGHT 19
|
||||
#define EFI_GLYPH_WIDTH 8
|
||||
|
||||
typedef struct {
|
||||
CHAR16 UnicodeWeight;
|
||||
|
@ -119,7 +106,10 @@ typedef struct {
|
|||
UINT8 Pad[3];
|
||||
} EFI_WIDE_GLYPH;
|
||||
|
||||
|
||||
///
|
||||
/// A simplified font package consists of a font header
|
||||
/// followed by a series of glyph structures.
|
||||
///
|
||||
typedef struct _EFI_HII_SIMPLE_FONT_PACKAGE_HDR {
|
||||
EFI_HII_PACKAGE_HEADER Header;
|
||||
UINT16 NumberOfNarrowGlyphs;
|
||||
|
@ -129,9 +119,13 @@ typedef struct _EFI_HII_SIMPLE_FONT_PACKAGE_HDR {
|
|||
} EFI_HII_SIMPLE_FONT_PACKAGE_HDR;
|
||||
|
||||
//
|
||||
// Font Package
|
||||
// Definitions for Font Package
|
||||
// Section 27.3.3
|
||||
//
|
||||
|
||||
//
|
||||
// Value for font style
|
||||
//
|
||||
#define EFI_HII_FONT_STYLE_NORMAL 0x00000000
|
||||
#define EFI_HII_FONT_STYLE_BOLD 0x00000001
|
||||
#define EFI_HII_FONT_STYLE_ITALIC 0x00000002
|
||||
|
@ -149,6 +143,12 @@ typedef struct _EFI_HII_GLYPH_INFO {
|
|||
INT16 AdvanceX;
|
||||
} EFI_HII_GLYPH_INFO;
|
||||
|
||||
///
|
||||
/// The fixed header consists of a standard record header and
|
||||
/// then the character values in this section, the flags
|
||||
/// (including the encoding method) and the offsets of the glyph
|
||||
/// information, the glyph bitmaps and the character map.
|
||||
///
|
||||
typedef struct _EFI_HII_FONT_PACKAGE_HDR {
|
||||
EFI_HII_PACKAGE_HEADER Header;
|
||||
UINT32 HdrSize;
|
||||
|
@ -158,6 +158,9 @@ typedef struct _EFI_HII_FONT_PACKAGE_HDR {
|
|||
CHAR16 FontFamily[1];
|
||||
} EFI_HII_FONT_PACKAGE_HDR;
|
||||
|
||||
//
|
||||
// Value of different glyph info block types
|
||||
//
|
||||
#define EFI_HII_GIBT_END 0x00
|
||||
#define EFI_HII_GIBT_GLYPH 0x10
|
||||
#define EFI_HII_GIBT_GLYPHS 0x11
|
||||
|
@ -175,6 +178,10 @@ typedef struct _EFI_HII_GLYPH_BLOCK {
|
|||
UINT8 BlockType;
|
||||
} EFI_HII_GLYPH_BLOCK;
|
||||
|
||||
//
|
||||
// Definition of different glyph info block types
|
||||
//
|
||||
|
||||
typedef struct _EFI_HII_GIBT_DEFAULTS_BLOCK {
|
||||
EFI_HII_GLYPH_BLOCK Header;
|
||||
EFI_HII_GLYPH_INFO Cell;
|
||||
|
@ -210,25 +217,25 @@ typedef struct _EFI_HII_GIBT_EXT4_BLOCK {
|
|||
typedef struct _EFI_HII_GIBT_GLYPH_BLOCK {
|
||||
EFI_HII_GLYPH_BLOCK Header;
|
||||
EFI_HII_GLYPH_INFO Cell;
|
||||
UINT8 BitmapData[1]; // the number of bytes per bitmap can be calculated by ((Cell.Width+7)/8)*Cell.Height
|
||||
UINT8 BitmapData[1];
|
||||
} EFI_HII_GIBT_GLYPH_BLOCK;
|
||||
|
||||
typedef struct _EFI_HII_GIBT_GLYPHS_BLOCK {
|
||||
EFI_HII_GLYPH_BLOCK Header;
|
||||
EFI_HII_GLYPH_INFO Cell;
|
||||
UINT16 Count;
|
||||
UINT8 BitmapData[1]; // the number of bytes per bitmap can be calculated by ((Cell.Width+7)/8)*Cell.Height
|
||||
UINT8 BitmapData[1];
|
||||
} EFI_HII_GIBT_GLYPHS_BLOCK;
|
||||
|
||||
typedef struct _EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK {
|
||||
EFI_HII_GLYPH_BLOCK Header;
|
||||
UINT8 BitmapData[1]; // the number of bytes per bitmap can be calculated by ((Global.Cell.Width+7)/8)*Global.Cell.Height
|
||||
UINT8 BitmapData[1];
|
||||
} EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK;
|
||||
|
||||
typedef struct _EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK {
|
||||
EFI_HII_GLYPH_BLOCK Header;
|
||||
UINT16 Count;
|
||||
UINT8 BitmapData[1]; // the number of bytes per bitmap can be calculated by ((Global.Cell.Width+7)/8)*Global.Cell.Height
|
||||
UINT8 BitmapData[1];
|
||||
} EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK;
|
||||
|
||||
typedef struct _EFI_HII_GIBT_SKIP1_BLOCK {
|
||||
|
@ -242,16 +249,27 @@ typedef struct _EFI_HII_GIBT_SKIP2_BLOCK {
|
|||
} EFI_HII_GIBT_SKIP2_BLOCK;
|
||||
|
||||
//
|
||||
// Device Path Package
|
||||
// Definitions for Device Path Package
|
||||
// Section 27.3.4
|
||||
//
|
||||
|
||||
///
|
||||
/// The device path package is used to carry a device path
|
||||
/// associated with the package list.
|
||||
///
|
||||
typedef struct _EFI_HII_DEVICE_PATH_PACKAGE {
|
||||
EFI_HII_PACKAGE_HEADER Header;
|
||||
// EFI_DEVICE_PATH_PROTOCOL DevicePath[];
|
||||
} EFI_HII_DEVICE_PATH_PACKAGE;
|
||||
|
||||
//
|
||||
// GUID Package
|
||||
// Definitions for GUID Package
|
||||
// Section 27.3.5
|
||||
//
|
||||
|
||||
///
|
||||
/// The GUID package is used to carry data where the format is defined by a GUID.
|
||||
///
|
||||
typedef struct _EFI_HII_GUID_PACKAGE_HDR {
|
||||
EFI_HII_PACKAGE_HEADER Header;
|
||||
EFI_GUID Guid;
|
||||
|
@ -259,12 +277,17 @@ typedef struct _EFI_HII_GUID_PACKAGE_HDR {
|
|||
} EFI_HII_GUID_PACKAGE_HDR;
|
||||
|
||||
//
|
||||
// String Package
|
||||
// Definitions for String Package
|
||||
// Section 27.3.6
|
||||
//
|
||||
|
||||
#define UEFI_CONFIG_LANG L"x-UEFI"
|
||||
#define UEFI_CONFIG_LANG2 L"x-i-UEFI" // BUGBUG, spec need to be updated.
|
||||
#define UEFI_CONFIG_LANG2 L"x-i-UEFI"
|
||||
|
||||
///
|
||||
/// The fixed header consists of a standard record header and then the string identifiers
|
||||
/// contained in this section and the offsets of the string and language information.
|
||||
///
|
||||
typedef struct _EFI_HII_STRING_PACKAGE_HDR {
|
||||
EFI_HII_PACKAGE_HEADER Header;
|
||||
UINT32 HdrSize;
|
||||
|
@ -278,6 +301,9 @@ typedef struct {
|
|||
UINT8 BlockType;
|
||||
} EFI_HII_STRING_BLOCK;
|
||||
|
||||
//
|
||||
// Value of different string information block types
|
||||
//
|
||||
#define EFI_HII_SIBT_END 0x00
|
||||
#define EFI_HII_SIBT_STRING_SCSU 0x10
|
||||
#define EFI_HII_SIBT_STRING_SCSU_FONT 0x11
|
||||
|
@ -295,6 +321,10 @@ typedef struct {
|
|||
#define EFI_HII_SIBT_EXT4 0x32
|
||||
#define EFI_HII_SIBT_FONT 0x40
|
||||
|
||||
//
|
||||
// Definition of different string information block types
|
||||
//
|
||||
|
||||
typedef struct _EFI_HII_SIBT_DUPLICATE_BLOCK {
|
||||
EFI_HII_STRING_BLOCK Header;
|
||||
EFI_STRING_ID StringId;
|
||||
|
@ -389,7 +419,8 @@ typedef struct _EFI_HII_SIBT_STRINGS_UCS2_FONT_BLOCK {
|
|||
} EFI_HII_SIBT_STRINGS_UCS2_FONT_BLOCK;
|
||||
|
||||
//
|
||||
// Image Packages
|
||||
// Definitions for Image Package
|
||||
// Section 27.3.7
|
||||
//
|
||||
|
||||
typedef struct _EFI_HII_IMAGE_PACKAGE_HDR {
|
||||
|
@ -402,6 +433,9 @@ typedef struct _EFI_HII_IMAGE_BLOCK {
|
|||
UINT8 BlockType;
|
||||
} EFI_HII_IMAGE_BLOCK;
|
||||
|
||||
//
|
||||
// Value of different image information block types
|
||||
//
|
||||
#define EFI_HII_IIBT_END 0x00
|
||||
#define EFI_HII_IIBT_IMAGE_1BIT 0x10
|
||||
#define EFI_HII_IIBT_IMAGE_1BIT_TRANS 0x11
|
||||
|
@ -419,6 +453,10 @@ typedef struct _EFI_HII_IMAGE_BLOCK {
|
|||
#define EFI_HII_IIBT_EXT2 0x31
|
||||
#define EFI_HII_IIBT_EXT4 0x32
|
||||
|
||||
//
|
||||
// Definition of different image information block types
|
||||
//
|
||||
|
||||
typedef struct _EFI_HII_IIBT_END_BLOCK {
|
||||
EFI_HII_IMAGE_BLOCK Header;
|
||||
} EFI_HII_IIBT_END_BLOCK;
|
||||
|
@ -538,6 +576,10 @@ typedef struct _EFI_HII_IIBT_SKIP2_BLOCK {
|
|||
UINT16 SkipCount;
|
||||
} EFI_HII_IIBT_SKIP2_BLOCK;
|
||||
|
||||
//
|
||||
// Definitions for Palette Information
|
||||
//
|
||||
|
||||
typedef struct _EFI_HII_IMAGE_PALETTE_INFO_HEADER {
|
||||
UINT16 PaletteCount;
|
||||
} EFI_HII_IMAGE_PALETTE_INFO_HEADER;
|
||||
|
@ -548,9 +590,13 @@ typedef struct _EFI_HII_IMAGE_PALETTE_INFO {
|
|||
} EFI_HII_IMAGE_PALETTE_INFO;
|
||||
|
||||
//
|
||||
// Forms Package
|
||||
// Definitions for Forms Package
|
||||
// Section 27.3.8
|
||||
//
|
||||
|
||||
///
|
||||
/// The Forms package is used to carry forms-based encoding data.
|
||||
///
|
||||
typedef struct _EFI_HII_FORM_PACKAGE {
|
||||
EFI_HII_PACKAGE_HEADER Header;
|
||||
// EFI_IFR_OP_HEADER OpCodeHeader;
|
||||
|
@ -672,6 +718,10 @@ typedef union {
|
|||
#define EFI_IFR_CATENATE_OP 0x5E
|
||||
#define EFI_IFR_GUID_OP 0x5F
|
||||
|
||||
//
|
||||
// Definitions of IFR Standard Headers
|
||||
// Section 27.3.8.2
|
||||
//
|
||||
|
||||
typedef struct _EFI_IFR_OP_HEADER {
|
||||
UINT8 OpCode;
|
||||
|
@ -695,17 +745,27 @@ typedef struct _EFI_IFR_QUESTION_HEADER {
|
|||
UINT8 Flags;
|
||||
} EFI_IFR_QUESTION_HEADER;
|
||||
|
||||
//
|
||||
// Flag values of EFI_IFR_QUESTION_HEADER
|
||||
//
|
||||
#define EFI_IFR_FLAG_READ_ONLY 0x01
|
||||
#define EFI_IFR_FLAG_CALLBACK 0x04
|
||||
#define EFI_IFR_FLAG_RESET_REQUIRED 0x10
|
||||
#define EFI_IFR_FLAG_OPTIONS_ONLY 0x80
|
||||
|
||||
//
|
||||
// Definition for Opcode Reference
|
||||
// Section 27.3.8.3
|
||||
//
|
||||
typedef struct _EFI_IFR_DEFAULTSTORE {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
EFI_STRING_ID DefaultName;
|
||||
UINT16 DefaultId;
|
||||
} EFI_IFR_DEFAULTSTORE;
|
||||
|
||||
//
|
||||
// Default Identifier of default store
|
||||
//
|
||||
#define EFI_HII_DEFAULT_CLASS_STANDARD 0x0000
|
||||
#define EFI_HII_DEFAULT_CLASS_MANUFACTURING 0x0001
|
||||
#define EFI_HII_DEFAULT_CLASS_SAFE 0x0002
|
||||
|
@ -855,6 +915,9 @@ typedef struct _EFI_IFR_DATE {
|
|||
UINT8 Flags;
|
||||
} EFI_IFR_DATE;
|
||||
|
||||
//
|
||||
// Flags that describe the behavior of the question.
|
||||
//
|
||||
#define EFI_QF_DATE_YEAR_SUPPRESS 0x01
|
||||
#define EFI_QF_DATE_MONTH_SUPPRESS 0x02
|
||||
#define EFI_QF_DATE_DAY_SUPPRESS 0x04
|
||||
|
@ -894,16 +957,19 @@ typedef struct _EFI_IFR_NUMERIC {
|
|||
MINMAXSTEP_DATA data;
|
||||
} EFI_IFR_NUMERIC;
|
||||
|
||||
//
|
||||
// Flags related to the numeric question
|
||||
//
|
||||
#define EFI_IFR_NUMERIC_SIZE 0x03
|
||||
#define EFI_IFR_NUMERIC_SIZE_1 0x00
|
||||
#define EFI_IFR_NUMERIC_SIZE_2 0x01
|
||||
#define EFI_IFR_NUMERIC_SIZE_4 0x02
|
||||
#define EFI_IFR_NUMERIC_SIZE_8 0x03
|
||||
#define EFI_IFR_NUMERIC_SIZE_1 0x00
|
||||
#define EFI_IFR_NUMERIC_SIZE_2 0x01
|
||||
#define EFI_IFR_NUMERIC_SIZE_4 0x02
|
||||
#define EFI_IFR_NUMERIC_SIZE_8 0x03
|
||||
|
||||
#define EFI_IFR_DISPLAY 0x30
|
||||
#define EFI_IFR_DISPLAY_INT_DEC 0x00
|
||||
#define EFI_IFR_DISPLAY_UINT_DEC 0x10
|
||||
#define EFI_IFR_DISPLAY_UINT_HEX 0x20
|
||||
#define EFI_IFR_DISPLAY_INT_DEC 0x00
|
||||
#define EFI_IFR_DISPLAY_UINT_DEC 0x10
|
||||
#define EFI_IFR_DISPLAY_UINT_HEX 0x20
|
||||
|
||||
typedef struct _EFI_IFR_ONE_OF {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
|
@ -945,14 +1011,17 @@ typedef struct _EFI_IFR_TIME {
|
|||
UINT8 Flags;
|
||||
} EFI_IFR_TIME;
|
||||
|
||||
//
|
||||
// A bit-mask that determines which unique settings are active for this opcode.
|
||||
//
|
||||
#define QF_TIME_HOUR_SUPPRESS 0x01
|
||||
#define QF_TIME_MINUTE_SUPPRESS 0x02
|
||||
#define QF_TIME_SECOND_SUPPRESS 0x04
|
||||
|
||||
#define QF_TIME_STORAGE 0x30
|
||||
#define QF_TIME_STORAGE_NORMAL 0x00
|
||||
#define QF_TIME_STORAGE_TIME 0x10
|
||||
#define QF_TIME_STORAGE_WAKEUP 0x20
|
||||
#define QF_TIME_STORAGE_NORMAL 0x00
|
||||
#define QF_TIME_STORAGE_TIME 0x10
|
||||
#define QF_TIME_STORAGE_WAKEUP 0x20
|
||||
|
||||
typedef struct _EFI_IFR_DISABLE_IF {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
|
@ -994,6 +1063,9 @@ typedef struct _EFI_IFR_ONE_OF_OPTION {
|
|||
EFI_IFR_TYPE_VALUE Value;
|
||||
} EFI_IFR_ONE_OF_OPTION;
|
||||
|
||||
//
|
||||
// Types of the option's value.
|
||||
//
|
||||
#define EFI_IFR_TYPE_NUM_SIZE_8 0x00
|
||||
#define EFI_IFR_TYPE_NUM_SIZE_16 0x01
|
||||
#define EFI_IFR_TYPE_NUM_SIZE_32 0x02
|
||||
|
@ -1036,11 +1108,6 @@ typedef struct _EFI_IFR_EQ_ID_LIST {
|
|||
UINT16 ValueList[1];
|
||||
} EFI_IFR_EQ_ID_LIST;
|
||||
|
||||
typedef struct _EFI_IFR_QUESTION_REF1 {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
EFI_QUESTION_ID QuestionId;
|
||||
} EFI_IFR_QUESTION_REF1;
|
||||
|
||||
typedef struct _EFI_IFR_UINT8 {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT8 Value;
|
||||
|
@ -1051,10 +1118,6 @@ typedef struct _EFI_IFR_UINT16 {
|
|||
UINT16 Value;
|
||||
} EFI_IFR_UINT16;
|
||||
|
||||
typedef struct _EFI_IFR_QUESTION_REF2 {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_QUESTION_REF2;
|
||||
|
||||
typedef struct _EFI_IFR_UINT32 {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
UINT32 Value;
|
||||
|
@ -1065,6 +1128,15 @@ typedef struct _EFI_IFR_UINT64 {
|
|||
UINT64 Value;
|
||||
} EFI_IFR_UINT64;
|
||||
|
||||
typedef struct _EFI_IFR_QUESTION_REF1 {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
EFI_QUESTION_ID QuestionId;
|
||||
} EFI_IFR_QUESTION_REF1;
|
||||
|
||||
typedef struct _EFI_IFR_QUESTION_REF2 {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_QUESTION_REF2;
|
||||
|
||||
typedef struct _EFI_IFR_QUESTION_REF3 {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_QUESTION_REF3;
|
||||
|
@ -1142,11 +1214,23 @@ typedef struct _EFI_IFR_TO_BOOLEAN {
|
|||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_TO_BOOLEAN;
|
||||
|
||||
//
|
||||
// For EFI_IFR_TO_STRING, when converting from
|
||||
// unsigned integers, these flags control the format:
|
||||
// 0 = unsigned decimal
|
||||
// 1 = signed decimal
|
||||
// 2 = hexadecimal (lower-case alpha)
|
||||
// 3 = hexadecimal (upper-case alpha)
|
||||
//
|
||||
#define EFI_IFR_STRING_UNSIGNED_DEC 0
|
||||
#define EFI_IFR_STRING_SIGNED_DEC 1
|
||||
#define EFI_IFR_STRING_LOWERCASE_HEX 2
|
||||
#define EFI_IFR_STRING_UPPERCASE_HEX 3
|
||||
|
||||
//
|
||||
// When converting from a buffer, these flags control the format:
|
||||
// 0 = ASCII
|
||||
// 8 = Unicode
|
||||
//
|
||||
#define EFI_IFR_STRING_ASCII 0
|
||||
#define EFI_IFR_STRING_UNICODE 8
|
||||
|
||||
|
@ -1247,6 +1331,9 @@ typedef struct _EFI_IFR_CONDITIONAL {
|
|||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_CONDITIONAL;
|
||||
|
||||
//
|
||||
// Flags governing the matching criteria of EFI_IFR_FIND
|
||||
//
|
||||
#define EFI_IFR_FF_CASE_SENSITIVE 0x00
|
||||
#define EFI_IFR_FF_CASE_INSENSITIVE 0x01
|
||||
|
||||
|
@ -1263,6 +1350,10 @@ typedef struct _EFI_IFR_TOKEN {
|
|||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_TOKEN;
|
||||
|
||||
//
|
||||
// Flags specifying whether to find the first matching string
|
||||
// or the first non-matching string.
|
||||
//
|
||||
#define EFI_IFR_FLAGS_FIRST_MATCHING 0x00
|
||||
#define EFI_IFR_FLAGS_FIRST_NON_MATCHING 0x01
|
||||
|
||||
|
@ -1272,7 +1363,9 @@ typedef struct _EFI_IFR_SPAN {
|
|||
} EFI_IFR_SPAN;
|
||||
|
||||
//
|
||||
// Keyboard Package
|
||||
// Definitions for Keyboard Package
|
||||
// Section 27.3.9
|
||||
// Releated definitions are in Section of EFI_HII_DATABASE_PROTOCOL
|
||||
//
|
||||
|
||||
typedef enum {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
/** @file
|
||||
Include file that supportes UEFI.
|
||||
Include file that supports UEFI.
|
||||
|
||||
This include file must only contain things defined in the UEFI 2.0 specification.
|
||||
If a code construct is defined in the UEFI 2.0 specification it must be included
|
||||
This include file must only contain things defined in the UEFI 2.1 specification.
|
||||
If a code construct is defined in the UEFI 2.1 specification it must be included
|
||||
by this include file.
|
||||
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -47,27 +47,32 @@ typedef enum {
|
|||
#define EFI_UNSPECIFIED_TIMEZONE 0x07FF
|
||||
|
||||
//
|
||||
// possible caching types for the memory range
|
||||
// Memory cacheability attributes
|
||||
//
|
||||
#define EFI_MEMORY_UC 0x0000000000000001ULL
|
||||
#define EFI_MEMORY_WC 0x0000000000000002ULL
|
||||
#define EFI_MEMORY_WT 0x0000000000000004ULL
|
||||
#define EFI_MEMORY_WB 0x0000000000000008ULL
|
||||
#define EFI_MEMORY_UCE 0x0000000000000010ULL
|
||||
|
||||
//
|
||||
// physical memory protection on range
|
||||
// Physical memory protection attributes
|
||||
//
|
||||
#define EFI_MEMORY_WP 0x0000000000001000ULL
|
||||
#define EFI_MEMORY_RP 0x0000000000002000ULL
|
||||
#define EFI_MEMORY_XP 0x0000000000004000ULL
|
||||
|
||||
///
|
||||
/// range requires a runtime mapping
|
||||
///
|
||||
//
|
||||
// Runtime memory attribute
|
||||
//
|
||||
#define EFI_MEMORY_RUNTIME 0x8000000000000000ULL
|
||||
|
||||
///
|
||||
/// Memory descriptor version number
|
||||
///
|
||||
#define EFI_MEMORY_DESCRIPTOR_VERSION 1
|
||||
|
||||
///
|
||||
/// Definition of memory descriptor
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 Type;
|
||||
EFI_PHYSICAL_ADDRESS PhysicalStart;
|
||||
|
@ -137,6 +142,10 @@ EFI_STATUS
|
|||
Returns the current memory map.
|
||||
|
||||
@param MemoryMapSize A pointer to the size, in bytes, of the MemoryMap buffer.
|
||||
On input, this is the size of the buffer allocated by the caller.
|
||||
On output, it is the size of the buffer returned by the firmware if
|
||||
the buffer was large enough, or the size of the buffer needed to contain
|
||||
the map if the buffer was too small.
|
||||
@param MemoryMap A pointer to the buffer in which firmware places the current memory
|
||||
map.
|
||||
@param MapKey A pointer to the location in which firmware returns the key for the
|
||||
|
@ -265,14 +274,20 @@ EFI_STATUS
|
|||
|
||||
@param ControllerHandle The handle of the controller from which driver(s) are to be disconnected.
|
||||
@param DriverImageHandle The driver to disconnect from ControllerHandle.
|
||||
If DriverImageHandle is NULL, then all the drivers currently managing
|
||||
ControllerHandle are disconnected from ControllerHandle.
|
||||
@param ChildHandle The handle of the child to destroy.
|
||||
If ChildHandle is NULL, then all the children of ControllerHandle are
|
||||
destroyed before the drivers are disconnected from ControllerHandle.
|
||||
|
||||
@retval EFI_SUCCESS 1) One or more drivers were disconnected from the controller.
|
||||
2) On entry, no drivers are managing ControllerHandle.
|
||||
3) DriverImageHandle is not NULL, and on entry
|
||||
DriverImageHandle is not managing ControllerHandle.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER One ore more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER 1) ControllerHandle is not a valid EFI_HANDLE.
|
||||
2) DriverImageHandle is not NULL, and it is not a valid EFI_HANDLE.
|
||||
3) ChildHandle is not NULL, and it is not a valid EFI_HANDLE.
|
||||
4) DriverImageHandle does not support the EFI_DRIVER_BINDING_PROTOCOL.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources available to disconnect any drivers from
|
||||
ControllerHandle.
|
||||
@retval EFI_DEVICE_ERROR The controller could not be disconnected because of a device error.
|
||||
|
@ -357,7 +372,7 @@ VOID
|
|||
Creates an event.
|
||||
|
||||
@param Type The type of event to create and its mode and attributes.
|
||||
@param NotifyTpl Pointer to the notification function's context.
|
||||
@param NotifyTpl The task priority level of event notifications, if needed.
|
||||
@param NotifyFunction Pointer to the event's notification function, if any.
|
||||
@param NotifyContext Pointer to the notification function's context; corresponds to parameter
|
||||
Context in the notification function.
|
||||
|
@ -383,11 +398,13 @@ EFI_STATUS
|
|||
Creates an event in a group.
|
||||
|
||||
@param Type The type of event to create and its mode and attributes.
|
||||
@param NotifyTpl Pointer to the notification function's context.
|
||||
@param NotifyTpl The task priority level of event notifications,if needed.
|
||||
@param NotifyFunction Pointer to the event's notification function, if any.
|
||||
@param NotifyContext Pointer to the notification function's context; corresponds to parameter
|
||||
Context in the notification function.
|
||||
@param EventGroup Pointer to the unique identifier of the group to which this event belongs.
|
||||
If this is NULL, then the function behaves as if the parameters were passed
|
||||
to CreateEvent.
|
||||
@param Event Pointer to the newly created event if the call succeeds; undefined
|
||||
otherwise.
|
||||
|
||||
|
@ -400,13 +417,16 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_CREATE_EVENT_EX)(
|
||||
IN UINT32 Type,
|
||||
IN EFI_TPL NotifyTpl OPTIONAL,
|
||||
IN EFI_TPL NotifyTpl,
|
||||
IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL,
|
||||
IN CONST VOID *NotifyContext OPTIONAL,
|
||||
IN CONST EFI_GUID *EventGroup OPTIONAL,
|
||||
OUT EFI_EVENT *Event
|
||||
);
|
||||
|
||||
///
|
||||
/// Timer delay types
|
||||
///
|
||||
typedef enum {
|
||||
TimerCancel,
|
||||
TimerPeriodic,
|
||||
|
@ -419,6 +439,11 @@ typedef enum {
|
|||
@param Event The timer event that is to be signaled at the specified time.
|
||||
@param Type The type of time that is specified in TriggerTime.
|
||||
@param TriggerTime The number of 100ns units until the timer expires.
|
||||
A TriggerTime of 0 is legal.
|
||||
If Type is TimerRelative and TriggerTime is 0, then the timer
|
||||
event will be signaled on the next timer tick.
|
||||
If Type is TimerPeriodic and TriggerTime is 0, then the timer
|
||||
event will be signaled on every timer tick.
|
||||
|
||||
@retval EFI_SUCCESS The event has been set to be signaled at the requested time.
|
||||
@retval EFI_INVALID_PARAMETER Event or Type is not valid.
|
||||
|
@ -500,7 +525,7 @@ EFI_STATUS
|
|||
|
||||
|
||||
//
|
||||
// Task priority level (name defined in spec).
|
||||
// Task priority level
|
||||
//
|
||||
#define TPL_APPLICATION 4
|
||||
#define TPL_CALLBACK 8
|
||||
|
@ -513,7 +538,7 @@ EFI_STATUS
|
|||
|
||||
@param NewTpl The new task priority level.
|
||||
|
||||
@retval Previous task priority level
|
||||
@return Previous task priority level
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -525,7 +550,7 @@ EFI_TPL
|
|||
/**
|
||||
Restores a task's priority level to its previous value.
|
||||
|
||||
@param OldTpl The previous task priority level to restore
|
||||
@param OldTpl The previous task priority level to restore.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -546,11 +571,15 @@ VOID
|
|||
On output the size of data returned in Data.
|
||||
@param Data The buffer to return the contents of the variable.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_FOUND The variable was not found.
|
||||
@retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the result.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_DEVICE_ERROR The variable could not be retrieved due to a hardware error.
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_FOUND The variable was not found.
|
||||
@retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the result.
|
||||
@retval EFI_INVALID_PARAMETER VariableName is NULL.
|
||||
@retval EFI_INVALID_PARAMETER VendorGuid is NULL.
|
||||
@retval EFI_INVALID_PARAMETER DataSize is NULL.
|
||||
@retval EFI_INVALID_PARAMETER The DataSize is not too small and Data is NULL.
|
||||
@retval EFI_DEVICE_ERROR The variable could not be retrieved due to a hardware error.
|
||||
@retval EFI_SECURITY_VIOLATION The variable could not be retrieved due to an authentication failure.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -577,7 +606,9 @@ EFI_STATUS
|
|||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_FOUND The next variable was not found.
|
||||
@retval EFI_BUFFER_TOO_SMALL The VariableNameSize is too small for the result.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER VariableNameSize is NULL.
|
||||
@retval EFI_INVALID_PARAMETER VariableName is NULL.
|
||||
@retval EFI_INVALID_PARAMETER VendorGuid is NULL.
|
||||
@retval EFI_DEVICE_ERROR The variable could not be retrieved due to a hardware error.
|
||||
|
||||
**/
|
||||
|
@ -599,12 +630,17 @@ EFI_STATUS
|
|||
@param DataSize The size in bytes of the Data buffer.
|
||||
@param Data The contents for the variable.
|
||||
|
||||
@retval EFI_SUCCESS The firmware has successfully stored the variable and its data as
|
||||
defined by the Attributes.
|
||||
@retval EFI_WRITE_PROTECTED The variable in question is read-only.
|
||||
@retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold the variable and its data.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_DEVICE_ERROR The variable could not be retrieved due to a hardware error.
|
||||
@retval EFI_SUCCESS The firmware has successfully stored the variable and its data as
|
||||
defined by the Attributes.
|
||||
@retval EFI_INVALID_PARAMETER An invalid combination of attribute bits was supplied, or the
|
||||
DataSize exceeds the maximum allowed.
|
||||
@retval EFI_INVALID_PARAMETER VariableName is an empty Unicode string.
|
||||
@retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold the variable and its data.
|
||||
@retval EFI_DEVICE_ERROR The variable could not be retrieved due to a hardware error.
|
||||
@retval EFI_WRITE_PROTECTED The variable in question is read-only.
|
||||
@retval EFI_WRITE_PROTECTED The variable in question cannot be deleted.
|
||||
@retval EFI_SECURITY_VIOLATION The variable could not be retrieved due to an authentication failure.
|
||||
@retval EFI_NOT_FOUND The variable trying to be updated or deleted was not found.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -618,10 +654,10 @@ EFI_STATUS
|
|||
);
|
||||
|
||||
|
||||
//
|
||||
// This provides the capabilities of the
|
||||
// real time clock device as exposed through the EFI interfaces.
|
||||
//
|
||||
///
|
||||
/// This provides the capabilities of the
|
||||
/// real time clock device as exposed through the EFI interfaces.
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 Resolution;
|
||||
UINT32 Accuracy;
|
||||
|
@ -672,8 +708,11 @@ EFI_STATUS
|
|||
@param Time The current alarm setting.
|
||||
|
||||
@retval EFI_SUCCESS The alarm settings were returned.
|
||||
@retval EFI_INVALID_PARAMETER Any parameter is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Enabled is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Pending is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Time is NULL.
|
||||
@retval EFI_DEVICE_ERROR The wakeup time could not be retrieved due to a hardware error.
|
||||
@retval EFI_UNSUPPORTED A wakeup timer is not supported on this platform.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -689,6 +728,7 @@ EFI_STATUS
|
|||
|
||||
@param Enabled Enable or disable the wakeup alarm.
|
||||
@param Time If Enable is TRUE, the time to set the wakeup alarm for.
|
||||
If Enable is FALSE, then this parameter is optional, and may be NULL.
|
||||
|
||||
@retval EFI_SUCCESS If Enable is TRUE, then the wakeup alarm was enabled. If
|
||||
Enable is FALSE, then the wakeup alarm was disabled.
|
||||
|
@ -705,13 +745,15 @@ EFI_STATUS
|
|||
);
|
||||
|
||||
/**
|
||||
This is the declaration of an EFI image entry point. This can be the entry point to an application
|
||||
written to this specification, an EFI boot service driver, or an EFI runtime driver.
|
||||
This is the declaration of an EFI image entry point. This entry point is
|
||||
the same for UEFI Applications, UEFI OS Loaders, and UEFI Drivers including
|
||||
both device drivers and bus drivers.
|
||||
|
||||
@param ImageHandle Handle that identifies the loaded image.
|
||||
@param SystemTable System Table for this image.
|
||||
@param ImageHandle The firmware allocated handle for the UEFI image.
|
||||
@param SystemTable A pointer to the EFI System Table.
|
||||
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -729,16 +771,16 @@ EFI_STATUS
|
|||
FilePath as a boot selection. Ignored if SourceBuffer is
|
||||
not NULL.
|
||||
@param ParentImageHandle The caller's image handle.
|
||||
@param FilePath The DeviceHandle specific file path from which the image is
|
||||
@param DevicePath The DeviceHandle specific file path from which the image is
|
||||
loaded.
|
||||
@param SourceBuffer If not NULL, a pointer to the memory location containing a copy
|
||||
of the image to be loaded.
|
||||
@param SourceSize The size in bytes of SourceBuffer.
|
||||
@param SourceSize The size in bytes of SourceBuffer. Ignored if SourceBuffer is NULL.
|
||||
@param ImageHandle Pointer to the returned image handle that is created when the
|
||||
image is successfully loaded.
|
||||
|
||||
@retval EFI_SUCCESS Image was loaded into memory correctly.
|
||||
@retval EFI_NOT_FOUND Both SourceBuffer and FilePath are NULL.
|
||||
@retval EFI_NOT_FOUND Both SourceBuffer and DevicePath are NULL.
|
||||
@retval EFI_INVALID_PARAMETER One or more parametes are invalid.
|
||||
@retval EFI_UNSUPPORTED The image type is not supported.
|
||||
@retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient resources.
|
||||
|
@ -752,7 +794,7 @@ EFI_STATUS
|
|||
(EFIAPI *EFI_IMAGE_LOAD)(
|
||||
IN BOOLEAN BootPolicy,
|
||||
IN EFI_HANDLE ParentImageHandle,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
|
||||
IN VOID *SourceBuffer OPTIONAL,
|
||||
IN UINTN SourceSize,
|
||||
OUT EFI_HANDLE *ImageHandle
|
||||
|
@ -768,7 +810,7 @@ EFI_STATUS
|
|||
|
||||
@retval EFI_INVALID_PARAMETER ImageHandle is either an invalid image handle or the image
|
||||
has already been initialized with StartImage
|
||||
@retval Exit code from image Exit code from image
|
||||
@return Exit code from image
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -811,7 +853,7 @@ EFI_STATUS
|
|||
@retval EFI_SUCCESS The image has been unloaded.
|
||||
@retval EFI_INVALID_PARAMETER ImageHandle is not a valid image handle.
|
||||
@retval EFI_UNSUPPORTED The image has been started, and does not support unload.
|
||||
@retval Exit code from the image's unload handler
|
||||
@return Exit code from the image's unload handler
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -877,9 +919,9 @@ EFI_STATUS
|
|||
IN CHAR16 *WatchdogData OPTIONAL
|
||||
);
|
||||
|
||||
//
|
||||
// Enumeration of reset types.
|
||||
//
|
||||
///
|
||||
/// Enumeration of reset types.
|
||||
///
|
||||
typedef enum {
|
||||
EfiResetCold,
|
||||
EfiResetWarm,
|
||||
|
@ -949,7 +991,9 @@ EFI_STATUS
|
|||
|
||||
@retval EFI_SUCCESS The 32-bit CRC was computed for the data buffer and returned in
|
||||
Crc32.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER Data is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Crc32 is NULL.
|
||||
@retval EFI_INVALID_PARAMETER DataSize is 0.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1014,7 +1058,10 @@ typedef enum {
|
|||
|
||||
@retval EFI_SUCCESS The protocol interface was installed.
|
||||
@retval EFI_OUT_OF_RESOURCES Space for a new handle could not be allocated.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Protocol is NULL.
|
||||
@retval EFI_INVALID_PARAMETER InterfaceType is not EFI_NATIVE_INTERFACE.
|
||||
@retval EFI_INVALID_PARAMETER Protocol is already installed on the handle specified by Handle.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1061,7 +1108,8 @@ EFI_STATUS
|
|||
@retval EFI_ACCESS_DENIED The protocol interface could not be reinstalled,
|
||||
because OldInterface is still being used by a
|
||||
driver that will not release it.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER Handle is not a valid EFI_HANDLE.
|
||||
@retval EFI_INVALID_PARAMETER Protocol is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1086,7 +1134,8 @@ EFI_STATUS
|
|||
@retval EFI_NOT_FOUND The interface was not found.
|
||||
@retval EFI_ACCESS_DENIED The interface was not removed because the interface
|
||||
is still being used by a driver.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER Handle is not a valid EFI_HANDLE.
|
||||
@retval EFI_INVALID_PARAMETER Protocol is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1122,9 +1171,12 @@ EFI_STATUS
|
|||
@param Protocol The published unique identifier of the protocol.
|
||||
@param Interface Supplies the address where a pointer to the corresponding Protocol
|
||||
Interface is returned.
|
||||
|
||||
@retval EFI_SUCCESS The interface information for the specified protocol was returned.
|
||||
@retval EFI_UNSUPPORTED The device does not support the specified protocol.
|
||||
@retval EFI_INVALID_PARAMETER One of the protocol interfaces was not previously installed on Handle.
|
||||
@retval EFI_INVALID_PARAMETER Handle is not a valid EFI_HANDLE.
|
||||
@retval EFI_INVALID_PARAMETER Protocol is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Interface is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1174,9 +1226,9 @@ EFI_STATUS
|
|||
(EFIAPI *EFI_OPEN_PROTOCOL)(
|
||||
IN EFI_HANDLE Handle,
|
||||
IN EFI_GUID *Protocol,
|
||||
OUT VOID **Interface,
|
||||
OUT VOID **Interface, OPTIONAL
|
||||
IN EFI_HANDLE AgentHandle,
|
||||
IN EFI_HANDLE ControllerHandle, OPTIONAL
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN UINT32 Attributes
|
||||
);
|
||||
|
||||
|
@ -1187,15 +1239,16 @@ EFI_STATUS
|
|||
@param Handle The handle for the protocol interface that was previously opened
|
||||
with OpenProtocol(), and is now being closed.
|
||||
@param Protocol The published unique identifier of the protocol.
|
||||
@param Interface Supplies the address where a pointer to the corresponding Protocol
|
||||
Interface is returned.
|
||||
@param AgentHandle The handle of the agent that is closing the protocol interface.
|
||||
@param ControllerHandle If the agent that opened a protocol is a driver that follows the
|
||||
UEFI Driver Model, then this parameter is the controller handle
|
||||
that required the protocol interface.
|
||||
|
||||
@retval EFI_SUCCESS The protocol instance was closed.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER 1) Handle is not a valid EFI_HANDLE.
|
||||
2) AgentHandle is not a valid EFI_HANDLE.
|
||||
3) ControllerHandle is not NULL and ControllerHandle is not a valid EFI_HANDLE.
|
||||
4) Protocol is NULL.
|
||||
@retval EFI_NOT_FOUND 1) Handle does not support the protocol specified by Protocol.
|
||||
2) The protocol interface specified by Handle and Protocol is not
|
||||
currently open by AgentHandle and ControllerHandle.
|
||||
|
@ -1238,7 +1291,7 @@ EFI_STATUS
|
|||
(EFIAPI *EFI_OPEN_PROTOCOL_INFORMATION)(
|
||||
IN EFI_HANDLE Handle,
|
||||
IN EFI_GUID *Protocol,
|
||||
IN EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer,
|
||||
OUT EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer,
|
||||
OUT UINTN *EntryCount
|
||||
);
|
||||
|
||||
|
@ -1257,7 +1310,10 @@ EFI_STATUS
|
|||
ProtocolBuffer. The number of protocol interface GUIDs was
|
||||
returned in ProtocolBufferCount.
|
||||
@retval EFI_OUT_OF_RESOURCES There is not enough pool memory to store the results.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Handle is not a valid EFI_HANDLE.
|
||||
@retval EFI_INVALID_PARAMETER ProtocolBuffer is NULL.
|
||||
@retval EFI_INVALID_PARAMETER ProtocolBufferCount is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1278,7 +1334,9 @@ EFI_STATUS
|
|||
|
||||
@retval EFI_SUCCESS The notification event has been registered.
|
||||
@retval EFI_OUT_OF_RESOURCES Space for the notification event could not be allocated.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER Protocol is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Event is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Registration is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1311,7 +1369,11 @@ typedef enum {
|
|||
@retval EFI_SUCCESS The array of handles was returned.
|
||||
@retval EFI_NOT_FOUND No handles match the search.
|
||||
@retval EFI_BUFFER_TOO_SMALL The BufferSize is too small for the result.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER SearchType is not a member of EFI_LOCATE_SEARCH_TYPE.
|
||||
@retval EFI_INVALID_PARAMETER SearchType is ByRegisterNotify and SearchKey is NULL.
|
||||
@retval EFI_INVALID_PARAMETER SearchType is ByProtocol and Protocol is NULL.
|
||||
@retval EFI_INVALID_PARAMETER One or more matches are found and BufferSize is NULL.
|
||||
@retval EFI_INVALID_PARAMETER BufferSize is large enough for the result and Buffer is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1335,7 +1397,9 @@ EFI_STATUS
|
|||
|
||||
@retval EFI_SUCCESS The resulting handle was returned.
|
||||
@retval EFI_NOT_FOUND No handles match the search.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER Protocol is NULL.
|
||||
@retval EFI_INVALID_PARAMETER DevicePath is NULL.
|
||||
@retval EFI_INVALID_PARAMETER A handle matched the search and Device is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1371,7 +1435,8 @@ EFI_STATUS
|
|||
Returns an array of handles that support the requested protocol in a buffer allocated from pool.
|
||||
|
||||
@param SearchType Specifies which handle(s) are to be returned.
|
||||
@param Protocol Specifies the protocol to search by.
|
||||
@param Protocol Provides the protocol to search by.
|
||||
This parameter is only valid for a SearchType of ByProtocol.
|
||||
@param SearchKey Supplies the search key depending on the SearchType.
|
||||
@param NoHandles The number of handles returned in Buffer.
|
||||
@param Buffer A pointer to the buffer to return the requested array of handles that
|
||||
|
@ -1381,7 +1446,8 @@ EFI_STATUS
|
|||
handles in Buffer was returned in NoHandles.
|
||||
@retval EFI_NOT_FOUND No handles match the search.
|
||||
@retval EFI_OUT_OF_RESOURCES There is not enough pool memory to store the matching results.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER NoHandles is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1433,6 +1499,11 @@ typedef struct {
|
|||
UINT32 CapsuleImageSize;
|
||||
} EFI_CAPSULE_HEADER;
|
||||
|
||||
//
|
||||
// The EFI System Table entry must point to an array of capsules
|
||||
// that contain the same CapsuleGuid value. The array must be
|
||||
// prefixed by a UINT32 that represents the size of the array of capsules.
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 CapsuleArrayNumber;
|
||||
VOID* CapsulePtr[1];
|
||||
|
@ -1461,6 +1532,8 @@ typedef struct {
|
|||
capsule has been successfully processed by the firmware.
|
||||
@retval EFI_DEVICE_ERROR The capsule update was started, but failed due to a device error.
|
||||
@retval EFI_INVALID_PARAMETER CapsuleSize is NULL.
|
||||
@retval EFI_UNSUPPORTED The capsule type is not supported on this platform.
|
||||
@retval EFI_OUT_OF_RESOURCES There were insufficient resources to process the capsule.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1487,6 +1560,7 @@ EFI_STATUS
|
|||
@retval EFI_UNSUPPORTED The capsule type is not supported on this platform, and
|
||||
MaximumCapsuleSize and ResetType are undefined.
|
||||
@retval EFI_INVALID_PARAMETER MaximumCapsuleSize is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES There were insufficient resources to process the query request.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -1543,7 +1617,13 @@ EFI_STATUS
|
|||
#define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552ULL
|
||||
#define EFI_RUNTIME_SERVICES_REVISION EFI_2_10_SYSTEM_TABLE_REVISION
|
||||
|
||||
///
|
||||
/// EFI Runtime Services Table
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// The table header for the EFI Runtime Services Table.
|
||||
///
|
||||
EFI_TABLE_HEADER Hdr;
|
||||
|
||||
//
|
||||
|
@ -1589,7 +1669,13 @@ typedef struct {
|
|||
#define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42ULL
|
||||
#define EFI_BOOT_SERVICES_REVISION EFI_2_10_SYSTEM_TABLE_REVISION
|
||||
|
||||
///
|
||||
/// EFI Boot Services Table
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// The table header for the EFI Boot Services Table.
|
||||
///
|
||||
EFI_TABLE_HEADER Hdr;
|
||||
|
||||
//
|
||||
|
@ -1678,32 +1764,85 @@ typedef struct {
|
|||
//
|
||||
EFI_COPY_MEM CopyMem;
|
||||
EFI_SET_MEM SetMem;
|
||||
|
||||
EFI_CREATE_EVENT_EX CreateEventEx;
|
||||
} EFI_BOOT_SERVICES;
|
||||
|
||||
//
|
||||
// Contains a set of GUID/pointer pairs comprised of the ConfigurationTable field in the
|
||||
// EFI System Table.
|
||||
//
|
||||
///
|
||||
/// Contains a set of GUID/pointer pairs comprised of the ConfigurationTable field in the
|
||||
/// EFI System Table.
|
||||
///
|
||||
typedef struct{
|
||||
///
|
||||
/// The 128-bit GUID value that uniquely identifies the system configuration table.
|
||||
///
|
||||
EFI_GUID VendorGuid;
|
||||
///
|
||||
/// A pointer to the table associated with VendorGuid.
|
||||
///
|
||||
VOID *VendorTable;
|
||||
} EFI_CONFIGURATION_TABLE;
|
||||
|
||||
///
|
||||
/// EFI System Table
|
||||
///
|
||||
struct _EFI_SYSTEM_TABLE {
|
||||
///
|
||||
/// The table header for the EFI System Table.
|
||||
///
|
||||
EFI_TABLE_HEADER Hdr;
|
||||
///
|
||||
/// A pointer to a null terminated Unicode string that identifies
|
||||
/// the vendor that produces the system firmware for the platform.
|
||||
///
|
||||
CHAR16 *FirmwareVendor;
|
||||
///
|
||||
/// A firmware vendor specific value that identifies the revision
|
||||
/// of the system firmware for the platform.
|
||||
///
|
||||
UINT32 FirmwareRevision;
|
||||
///
|
||||
/// The handle for the active console input device.
|
||||
///
|
||||
EFI_HANDLE ConsoleInHandle;
|
||||
///
|
||||
/// A pointer to the SIMPLE_INPUT_PROTOCOL interface that is
|
||||
/// associated with ConsoleInHandle.
|
||||
///
|
||||
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *ConIn;
|
||||
///
|
||||
/// The handle for the active console output device.
|
||||
///
|
||||
EFI_HANDLE ConsoleOutHandle;
|
||||
///
|
||||
/// A pointer to the SIMPLE_TEXT_OUTPUT_PROTOCOL interface
|
||||
/// that is associated with ConsoleOutHandle.
|
||||
///
|
||||
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *ConOut;
|
||||
///
|
||||
/// The handle for the active standard error console device.
|
||||
///
|
||||
EFI_HANDLE StandardErrorHandle;
|
||||
///
|
||||
/// A pointer to the SIMPLE_TEXT_OUTPUT_PROTOCOL interface
|
||||
/// that is associated with StandardErrorHandle.
|
||||
///
|
||||
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *StdErr;
|
||||
///
|
||||
/// A pointer to the EFI Runtime Services Table.
|
||||
///
|
||||
EFI_RUNTIME_SERVICES *RuntimeServices;
|
||||
///
|
||||
/// A pointer to the EFI Boot Services Table.
|
||||
///
|
||||
EFI_BOOT_SERVICES *BootServices;
|
||||
///
|
||||
/// The number of system configuration tables in the buffer ConfigurationTable.
|
||||
///
|
||||
UINTN NumberOfTableEntries;
|
||||
///
|
||||
/// A pointer to the system configuration tables.
|
||||
/// The number of entries in the table is NumberOfTableEntries.
|
||||
///
|
||||
EFI_CONFIGURATION_TABLE *ConfigurationTable;
|
||||
};
|
||||
|
||||
|
@ -1733,7 +1872,7 @@ typedef union {
|
|||
UINT32 SysReqPessed : 1;
|
||||
UINT32 Reserved : 16;
|
||||
UINT32 InputKeyCount : 2;
|
||||
} Options;
|
||||
} Options;
|
||||
UINT32 PackedValue;
|
||||
} HOT_KEY_EFI_KEY_DATA;
|
||||
|
||||
|
@ -1759,7 +1898,6 @@ typedef struct {
|
|||
#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 L"\\EFI\\BOOT\\BOOTIA32.EFI"
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA64 L"\\EFI\\BOOT\\BOOTIA64.EFI"
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.EFI"
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME_EBC L"\\EFI\\BOOT\\BOOTEBC.EFI"
|
||||
|
||||
#if defined (MDE_CPU_IA32)
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32
|
||||
|
@ -1768,7 +1906,6 @@ typedef struct {
|
|||
#elif defined (MDE_CPU_X64)
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_X64
|
||||
#elif defined (MDE_CPU_EBC)
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_EBC
|
||||
#else
|
||||
#error Unknown Processor Type
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue