mirror of https://github.com/acidanthera/audk.git
Add additional comments for structure definition.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6750 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
9c83c97ac2
commit
ebafc55b92
|
@ -1,6 +1,6 @@
|
|||
/** @file
|
||||
This file defines header data structures for BMP file and default
|
||||
GUID for BMP logo file.
|
||||
FFS GUID Filename for BMP logo file.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -16,10 +16,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __BMP_GUID_H__
|
||||
#define __BMP_GUID_H__
|
||||
|
||||
|
||||
//
|
||||
// Definitions for BMP files
|
||||
//
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct {
|
||||
|
@ -38,10 +34,10 @@ typedef struct {
|
|||
UINT32 HeaderSize;
|
||||
UINT32 PixelWidth;
|
||||
UINT32 PixelHeight;
|
||||
UINT16 Planes; // Must be 1
|
||||
UINT16 BitPerPixel; // 1, 4, 8, or 24
|
||||
UINT16 Planes; /// Must be 1
|
||||
UINT16 BitPerPixel; /// 1, 4, 8, or 24
|
||||
UINT32 CompressionType;
|
||||
UINT32 ImageSize; // Compressed image size in bytes
|
||||
UINT32 ImageSize; /// Compressed image size in bytes
|
||||
UINT32 XPixelsPerMeter;
|
||||
UINT32 YPixelsPerMeter;
|
||||
UINT32 NumberOfColors;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/** @file
|
||||
This file defines variable name and GUID to record boot state.
|
||||
This file defines variable name and variable GUID for boot state.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -15,10 +15,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __BOOT_STATE_H__
|
||||
#define __BOOT_STATE_H__
|
||||
|
||||
//
|
||||
// BOOT STATE
|
||||
//
|
||||
|
||||
typedef UINT32 EFI_BOOT_STATE;
|
||||
|
||||
#define BOOT_STATE_VARIABLE_NAME L"BootState"
|
||||
|
|
|
@ -17,27 +17,27 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_CAPSULE_VENDOR_GUID_H__
|
||||
#define __EFI_CAPSULE_VENDOR_GUID_H__
|
||||
|
||||
//
|
||||
// Note -- This guid is used as a variable GUID (depending on implementation)
|
||||
// for the capsule variable if the capsule pointer is passes through reset
|
||||
// via a variable.
|
||||
//
|
||||
///
|
||||
/// This guid is used as a variable GUID (depending on implementation)
|
||||
/// for the capsule variable if the capsule pointer is passes through reset
|
||||
/// via a variable.
|
||||
///
|
||||
#define EFI_CAPSULE_VENDOR_GUID \
|
||||
{ 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 } }
|
||||
|
||||
//
|
||||
// Name of capsule variable
|
||||
//
|
||||
///
|
||||
/// Name of capsule variable
|
||||
///
|
||||
#define EFI_CAPSULE_VARIABLE_NAME L"CapsuleUpdateData"
|
||||
|
||||
extern EFI_GUID gEfiCapsuleVendorGuid;
|
||||
|
||||
//
|
||||
// Data structure of capsule guid hob
|
||||
//
|
||||
///
|
||||
/// Data structure of capsule guid hob entry
|
||||
///
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS BaseAddress;
|
||||
UINT32 Length;
|
||||
EFI_PHYSICAL_ADDRESS BaseAddress; /// Capsule data start address
|
||||
UINT32 Length; /// Length of capsule data.
|
||||
} CAPSULE_HOB_INFO;
|
||||
|
||||
#endif // #ifndef _EFI_CAPSULE_VENDOR_GUID_H_
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/** @file
|
||||
This guid is used to specifiy the device is the console in device.
|
||||
This guid is used to specify the device is the console in device.
|
||||
If the device is the console in device, this guid as the protocol guid
|
||||
will be installed into this device handle.
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/** @file
|
||||
This guid is used to specifiy the device is the console out device.
|
||||
This guid is used to specify the device is the console out device.
|
||||
If the device is the console out device, this guid as the protocol guid
|
||||
will be installed into this device handle.
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/** @file
|
||||
This guid is used to specifiy the device is the hot plug device.
|
||||
This guid is used to specify the device is the hot plug device.
|
||||
If the device is the hot plug device, this guid as the protocol guid
|
||||
will be installed into this device handle.
|
||||
|
||||
|
|
|
@ -24,8 +24,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
extern EFI_GUID gEfiMemoryTypeInformationGuid;
|
||||
|
||||
typedef struct {
|
||||
UINT32 Type;
|
||||
UINT32 NumberOfPages;
|
||||
UINT32 Type; /// EFI memory type defined in UEFI specification.
|
||||
UINT32 NumberOfPages; /// The pages of this type memory.
|
||||
} EFI_MEMORY_TYPE_INFORMATION;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/** @file
|
||||
This guid is used for Platform Override Variable named L"PlatDriOver".
|
||||
This file defines the platform override variable name and variable guid.
|
||||
|
||||
Copyright (c) 2008, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -15,12 +15,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_OVERRIDE_VARIABLE_GUID_H__
|
||||
#define __EFI_OVERRIDE_VARIABLE_GUID_H__
|
||||
|
||||
//
|
||||
// This guid is used for a platform driver override variable
|
||||
//
|
||||
///
|
||||
/// This guid is used for a platform driver override variable
|
||||
///
|
||||
#define EFI_OVERRIDE_VARIABLE_GUID \
|
||||
{ 0x8e3d4ad5, 0xf762, 0x438a, { 0xa1, 0xc1, 0x5b, 0x9f, 0xe6, 0x8c, 0x6b, 0x15 }}
|
||||
|
||||
#define EFI_PLATFORM_OVERRIDE_VARIABLE_NAME L"PlatDriOver"
|
||||
|
||||
extern EFI_GUID gEfiOverrideVariableGuid;
|
||||
|
||||
|
||||
|
|
|
@ -29,13 +29,17 @@ typedef struct _EFI_PEI_PE_COFF_LOADER_PROTOCOL EFI_PEI_PE_COFF_LOADER_PROTOCO
|
|||
/**
|
||||
Retrieves information about a PE/COFF image.
|
||||
|
||||
Computes the PeCoffHeaderOffset, ImageAddress, ImageSize, DestinationAddress, CodeView,
|
||||
PdbPointer, RelocationsStripped, SectionAlignment, SizeOfHeaders, and DebugDirectoryEntryRva
|
||||
fields of the ImageContext structure. If ImageContext is NULL, then return RETURN_INVALID_PARAMETER.
|
||||
If the PE/COFF image accessed through the ImageRead service in the ImageContext structure is not
|
||||
a supported PE/COFF image type, then return RETURN_UNSUPPORTED. If any errors occur while
|
||||
computing the fields of ImageContext, then the error status is returned in the ImageError field of
|
||||
ImageContext.
|
||||
Computes the PeCoffHeaderOffset, IsTeImage, ImageType, ImageAddress, ImageSize,
|
||||
DestinationAddress, RelocationsStripped, SectionAlignment, SizeOfHeaders, and
|
||||
DebugDirectoryEntryRva fields of the ImageContext structure.
|
||||
If ImageContext is NULL, then return RETURN_INVALID_PARAMETER.
|
||||
If the PE/COFF image accessed through the ImageRead service in the ImageContext
|
||||
structure is not a supported PE/COFF image type, then return RETURN_UNSUPPORTED.
|
||||
If any errors occur while computing the fields of ImageContext,
|
||||
then the error status is returned in the ImageError field of ImageContext.
|
||||
If the image is a TE image, then SectionAlignment is set to 0.
|
||||
The ImageRead and Handle fields of ImageContext structure must be valid prior
|
||||
to invoking this service.
|
||||
|
||||
@param This Pointer to the EFI_PEI_PE_COFF_LOADER_PROTOCOL instance.
|
||||
@param ImageContext Pointer to the image context structure that describes the PE/COFF
|
||||
|
@ -60,7 +64,9 @@ RETURN_STATUS
|
|||
specified by the ImageAddress and ImageSize fields of ImageContext. The caller must allocate
|
||||
the load buffer and fill in the ImageAddress and ImageSize fields prior to calling this function.
|
||||
The EntryPoint, FixupDataSize, CodeView, and PdbPointer fields of ImageContext are computed.
|
||||
If ImageContext is NULL, then ASSERT().
|
||||
The ImageRead, Handle, PeCoffHeaderOffset, IsTeImage, Machine, ImageType, ImageAddress, ImageSize,
|
||||
DestinationAddress, RelocationsStripped, SectionAlignment, SizeOfHeaders, and DebugDirectoryEntryRva
|
||||
fields of the ImageContext structure must be valid prior to invoking this service.
|
||||
|
||||
@param This Pointer to the EFI_PEI_PE_COFF_LOADER_PROTOCOL instance.
|
||||
@param ImageContext Pointer to the image context structure that describes the PE/COFF
|
||||
|
@ -91,6 +97,12 @@ RETURN_STATUS
|
|||
ImageContext as the relocation base address. Otherwise, use the DestinationAddress field
|
||||
of ImageContext as the relocation base address. The caller must allocate the relocation
|
||||
fixup log buffer and fill in the FixupData field of ImageContext prior to calling this function.
|
||||
|
||||
The ImageRead, Handle, PeCoffHeaderOffset, IsTeImage, Machine, ImageType, ImageAddress,
|
||||
ImageSize, DestinationAddress, RelocationsStripped, SectionAlignment, SizeOfHeaders,
|
||||
DebugDirectoryEntryRva, EntryPoint, FixupDataSize, CodeView, PdbPointer, and FixupData of
|
||||
the ImageContext structure must be valid prior to invoking this service.
|
||||
|
||||
If ImageContext is NULL, then ASSERT().
|
||||
|
||||
@param This Pointer to the EFI_PEI_PE_COFF_LOADER_PROTOCOL instance.
|
||||
|
@ -114,6 +126,8 @@ RETURN_STATUS
|
|||
|
||||
/**
|
||||
Unloads a loaded PE/COFF image from memory and releases its taken resource.
|
||||
Releases any environment specific resources that were allocated when the image
|
||||
specified by ImageContext was loaded using PeCoffLoaderLoadImage().
|
||||
|
||||
For NT32 emulator, the PE/COFF image loaded by system needs to release.
|
||||
For real platform, the PE/COFF image loaded by Core doesn't needs to be unloaded,
|
||||
|
|
|
@ -30,18 +30,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS Handle;
|
||||
CHAR8 Token[PEI_PERFORMANCE_STRING_SIZE];
|
||||
CHAR8 Module[PEI_PERFORMANCE_STRING_SIZE];
|
||||
UINT64 StartTimeStamp;
|
||||
UINT64 EndTimeStamp;
|
||||
CHAR8 Token[PEI_PERFORMANCE_STRING_SIZE]; /// Measured token string name
|
||||
CHAR8 Module[PEI_PERFORMANCE_STRING_SIZE]; /// Module string name
|
||||
UINT64 StartTimeStamp; /// Start time point
|
||||
UINT64 EndTimeStamp; /// End time point
|
||||
} PEI_PERFORMANCE_LOG_ENTRY;
|
||||
|
||||
//
|
||||
// The header must be aligned at 8 bytes.
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 NumberOfEntries;
|
||||
UINT32 Reserved;
|
||||
UINT32 NumberOfEntries; /// The number of all performance log entries
|
||||
UINT32 Reserved;
|
||||
} PEI_PERFORMANCE_LOG_HEADER;
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/** @file
|
||||
This file defnies FFS GUID Filename for EFI Shell.
|
||||
This file defines FFS GUID Filename for EFI Shell.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/** @file
|
||||
This guid is used to specifiy the device is the StdErr device.
|
||||
This guid is used to specify the device is the StdErr device.
|
||||
If the device is the StdErr device, this guid as the protocol guid
|
||||
will be installed into this device handle.
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/** @file
|
||||
This file defines GUIDs used for System Non Volatile HOB entries in the HOB list,
|
||||
and FV Guids that carrying the System specific information.
|
||||
This file defines NvDataHob GUIDs for System Non Volatile HOB entries
|
||||
in the HOB list and NV system hob entry structure.
|
||||
It also defines NvDataFv GUID used as the signature of FTW working block header.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -22,17 +23,24 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#define EFI_SYSTEM_NV_DATA_HOB_GUID \
|
||||
{0xd6e5092d, 0xc7b2, 0x4872, {0xaf, 0x66, 0xfd, 0xc0, 0xe6, 0xf9, 0x5e, 0x78} }
|
||||
|
||||
///
|
||||
/// Hob entry for NV data region
|
||||
///
|
||||
typedef struct {
|
||||
EFI_GUID SystemNvDataHobGuid;
|
||||
EFI_GUID SystemNvDataFvGuid;
|
||||
EFI_LBA StartLba;
|
||||
UINTN StartLbaOffset;
|
||||
EFI_LBA EndLba;
|
||||
UINTN EndLbaOffset;
|
||||
UINT32 DataTypeSignature;
|
||||
EFI_GUID SystemNvDataHobGuid; /// EFI_SYSTEM_NV_DATA_HOB_GUID
|
||||
EFI_GUID SystemNvDataFvGuid; /// Guid specifies the NvData Fv for the specific purpose, such as FTW, Error Log.
|
||||
EFI_LBA StartLba; /// The starting logical block index.
|
||||
UINTN StartLbaOffset; /// Offset into the starting block at which to the start of NvData region.
|
||||
EFI_LBA EndLba; /// The last logical block index.
|
||||
UINTN EndLbaOffset; /// Offset into the last block at which to the end of Nvdata region.
|
||||
UINT32 DataTypeSignature; /// NvData type in the specified NV range.
|
||||
} NV_SYSTEM_DATA_GUID_TYPE;
|
||||
|
||||
extern EFI_GUID gEfiSystemNvDataHobGuid;
|
||||
|
||||
///
|
||||
/// NvDataFv GUID used as the signature of FTW working block header.
|
||||
///
|
||||
extern EFI_GUID gEfiSystemNvDataFvGuid;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -24,21 +24,20 @@ extern EFI_GUID gEfiVariableInfoGuid;
|
|||
|
||||
typedef struct _VARIABLE_INFO_ENTRY VARIABLE_INFO_ENTRY;
|
||||
|
||||
//
|
||||
// This list gets put in the EFI system table. It is produced by the Variable driver at
|
||||
// Boot Services time and records read and write access to a given variable
|
||||
//
|
||||
///
|
||||
/// This list gets put in the EFI system table. It is produced by the Variable driver at
|
||||
/// Boot Services time and records read and write access to a given variable
|
||||
///
|
||||
struct _VARIABLE_INFO_ENTRY {
|
||||
VARIABLE_INFO_ENTRY *Next;
|
||||
EFI_GUID VendorGuid;
|
||||
CHAR16 *Name;
|
||||
UINT32 Attributes;
|
||||
UINT32 ReadCount;
|
||||
UINT32 WriteCount;
|
||||
UINT32 DeleteCount;
|
||||
UINT32 CacheCount;
|
||||
BOOLEAN Volatile;
|
||||
VARIABLE_INFO_ENTRY *Next; /// Pointer to next entry
|
||||
EFI_GUID VendorGuid; /// Guid of Variable
|
||||
CHAR16 *Name; /// Name of Variable
|
||||
UINT32 Attributes; /// Attributes of variable defined in UEFI spec
|
||||
UINT32 ReadCount; /// Times to read this variable
|
||||
UINT32 WriteCount; /// Times to write this variable
|
||||
UINT32 DeleteCount; /// Times to delete this variable
|
||||
UINT32 CacheCount; /// Times that cache hits this variable
|
||||
BOOLEAN Volatile; /// TRUE if volatile FALSE if non-volatile
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -114,9 +114,9 @@ IfrLibUpdateForm (
|
|||
If FormSetHelp is NULL, then ASSERT.
|
||||
|
||||
@param HiiHandle Hii handle
|
||||
@param Class On output, Class of the formset
|
||||
@param FormSetTitle On output, Formset title string
|
||||
@param FormSetHelp On output, Formset help string
|
||||
@param Class On output, Class of the formset
|
||||
@param FormSetTitle On output, Formset title string
|
||||
@param FormSetHelp On output, Formset help string
|
||||
|
||||
@retval EFI_SUCCESS Successfully extract Class for specified Hii
|
||||
handle.
|
||||
|
|
|
@ -19,16 +19,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#define WIDE_CHAR 0xFFF1
|
||||
#define NON_BREAKING_CHAR 0xFFF2
|
||||
|
||||
//
|
||||
// State defined for password statemachine
|
||||
//
|
||||
///
|
||||
/// State defined for password statemachine
|
||||
///
|
||||
#define BROWSER_STATE_VALIDATE_PASSWORD 0
|
||||
#define BROWSER_STATE_SET_PASSWORD 1
|
||||
|
||||
|
||||
//
|
||||
// Tiano Implementation specific Device Path definition.
|
||||
//
|
||||
///
|
||||
/// HII specific Vendor Device Path Node definition.
|
||||
///
|
||||
#pragma pack(1)
|
||||
typedef struct {
|
||||
VENDOR_DEVICE_PATH VendorDevicePath;
|
||||
|
@ -37,31 +37,47 @@ typedef struct {
|
|||
} HII_VENDOR_DEVICE_PATH_NODE;
|
||||
#pragma pack()
|
||||
|
||||
///
|
||||
/// HII specific Vendor Device Path definition.
|
||||
///
|
||||
typedef struct {
|
||||
HII_VENDOR_DEVICE_PATH_NODE Node;
|
||||
EFI_DEVICE_PATH_PROTOCOL End;
|
||||
} HII_VENDOR_DEVICE_PATH;
|
||||
|
||||
|
||||
//
|
||||
// GUIDed opcodes defined for Tiano
|
||||
//
|
||||
///
|
||||
/// GUIDed opcodes defined for EDKII implementation
|
||||
///
|
||||
#define EFI_IFR_TIANO_GUID \
|
||||
{ 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce} }
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
///
|
||||
/// EDKII implementation extension opcodes, new extension can be added here later.
|
||||
///
|
||||
#define EFI_IFR_EXTEND_OP_LABEL 0x0
|
||||
#define EFI_IFR_EXTEND_OP_BANNER 0x1
|
||||
#define EFI_IFR_EXTEND_OP_TIMEOUT 0x2
|
||||
#define EFI_IFR_EXTEND_OP_CLASS 0x3
|
||||
#define EFI_IFR_EXTEND_OP_SUBCLASS 0x4
|
||||
|
||||
|
||||
///
|
||||
/// Label opcode
|
||||
///
|
||||
typedef struct _EFI_IFR_GUID_LABEL {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// EFI_IFR_TIANO_GUID
|
||||
///
|
||||
EFI_GUID Guid;
|
||||
///
|
||||
/// EFI_IFR_EXTEND_OP_LABEL
|
||||
///
|
||||
UINT8 ExtendOpCode;
|
||||
///
|
||||
/// Label Number
|
||||
///
|
||||
UINT16 Number;
|
||||
} EFI_IFR_GUID_LABEL;
|
||||
|
||||
|
@ -69,20 +85,38 @@ typedef struct _EFI_IFR_GUID_LABEL {
|
|||
#define EFI_IFR_BANNER_ALIGN_CENTER 1
|
||||
#define EFI_IFR_BANNER_ALIGN_RIGHT 2
|
||||
|
||||
///
|
||||
/// Banner opcode
|
||||
///
|
||||
typedef struct _EFI_IFR_GUID_BANNER {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// EFI_IFR_TIANO_GUID
|
||||
///
|
||||
EFI_GUID Guid;
|
||||
UINT8 ExtendOpCode; // Extended opcode is EFI_IFR_EXTEND_OP_BANNER
|
||||
EFI_STRING_ID Title; // The string token for the banner title
|
||||
UINT16 LineNumber; // 1-based line number
|
||||
UINT8 Alignment; // left, center, or right-aligned
|
||||
///
|
||||
/// EFI_IFR_EXTEND_OP_BANNER
|
||||
///
|
||||
UINT8 ExtendOpCode;
|
||||
EFI_STRING_ID Title; /// The string token for the banner title
|
||||
UINT16 LineNumber; /// 1-based line number
|
||||
UINT8 Alignment; /// left, center, or right-aligned
|
||||
} EFI_IFR_GUID_BANNER;
|
||||
|
||||
///
|
||||
/// Timeout opcode
|
||||
///
|
||||
typedef struct _EFI_IFR_GUID_TIMEOUT {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// EFI_IFR_TIANO_GUID
|
||||
///
|
||||
EFI_GUID Guid;
|
||||
///
|
||||
/// EFI_IFR_EXTEND_OP_TIMEOUT
|
||||
///
|
||||
UINT8 ExtendOpCode;
|
||||
UINT16 TimeOut;
|
||||
UINT16 TimeOut; /// TimeOut Value
|
||||
} EFI_IFR_GUID_TIMEOUT;
|
||||
|
||||
#define EFI_NON_DEVICE_CLASS 0x00
|
||||
|
@ -93,11 +127,20 @@ typedef struct _EFI_IFR_GUID_TIMEOUT {
|
|||
#define EFI_ON_BOARD_DEVICE_CLASS 0x10
|
||||
#define EFI_OTHER_DEVICE_CLASS 0x20
|
||||
|
||||
///
|
||||
/// Device Class opcode
|
||||
///
|
||||
typedef struct _EFI_IFR_GUID_CLASS {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// EFI_IFR_TIANO_GUID
|
||||
///
|
||||
EFI_GUID Guid;
|
||||
///
|
||||
/// EFI_IFR_EXTEND_OP_CLASS
|
||||
///
|
||||
UINT8 ExtendOpCode;
|
||||
UINT16 Class;
|
||||
UINT16 Class; /// Device Class from the above
|
||||
} EFI_IFR_GUID_CLASS;
|
||||
|
||||
#define EFI_SETUP_APPLICATION_SUBCLASS 0x00
|
||||
|
@ -105,66 +148,86 @@ typedef struct _EFI_IFR_GUID_CLASS {
|
|||
#define EFI_FRONT_PAGE_SUBCLASS 0x02
|
||||
#define EFI_SINGLE_USE_SUBCLASS 0x03
|
||||
|
||||
///
|
||||
/// SubClass opcode
|
||||
///
|
||||
typedef struct _EFI_IFR_GUID_SUBCLASS {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// EFI_IFR_TIANO_GUID
|
||||
///
|
||||
EFI_GUID Guid;
|
||||
///
|
||||
/// EFI_IFR_EXTEND_OP_SUBCLASS
|
||||
///
|
||||
UINT8 ExtendOpCode;
|
||||
UINT16 SubClass;
|
||||
UINT16 SubClass; ///Sub Class type from the above
|
||||
} EFI_IFR_GUID_SUBCLASS;
|
||||
|
||||
//
|
||||
// GUIDed opcodes defined for framework vfr.
|
||||
//
|
||||
///
|
||||
/// GUIDed opcodes support for framework vfr.
|
||||
///
|
||||
#define EFI_IFR_FRAMEWORK_GUID \
|
||||
{ 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 } }
|
||||
|
||||
///
|
||||
/// Two extended opcode are added, new extension can be added here later.
|
||||
/// One is for framework OneOf question Option Key value,
|
||||
/// Another is for framework vareqval.
|
||||
///
|
||||
#define EFI_IFR_EXTEND_OP_OPTIONKEY 0x0
|
||||
#define EFI_IFR_EXTEND_OP_VAREQNAME 0x1
|
||||
|
||||
//
|
||||
// Store the framework vfr option key value
|
||||
//
|
||||
///
|
||||
/// Store the framework vfr option key value
|
||||
///
|
||||
typedef struct _EFI_IFR_GUID_OPTIONKEY {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// EFI_IFR_FRAMEWORK_GUID
|
||||
///
|
||||
EFI_GUID Guid;
|
||||
//
|
||||
// EFI_IFR_EXTEND_OP_OPTIONKEY
|
||||
//
|
||||
///
|
||||
/// EFI_IFR_EXTEND_OP_OPTIONKEY
|
||||
///
|
||||
UINT8 ExtendOpCode;
|
||||
//
|
||||
// UEFI One Of Questiond ID.
|
||||
//
|
||||
///
|
||||
/// OneOf Questiond ID binded by OneOf Option
|
||||
///
|
||||
EFI_QUESTION_ID QuestionId;
|
||||
//
|
||||
// The One Of Option Value.
|
||||
//
|
||||
///
|
||||
/// The OneOf Option Value.
|
||||
///
|
||||
EFI_IFR_TYPE_VALUE OptionValue;
|
||||
//
|
||||
// The Framework One Of Option Key Value.
|
||||
//
|
||||
///
|
||||
/// The Framework OneOf Option Key Value.
|
||||
///
|
||||
UINT16 KeyValue;
|
||||
} EFI_IFR_GUID_OPTIONKEY;
|
||||
|
||||
|
||||
//
|
||||
// Store the framework vfr vareqval name number
|
||||
//
|
||||
///
|
||||
/// Store the framework vfr vareqval name number
|
||||
///
|
||||
typedef struct _EFI_IFR_GUID_VAREQNAME {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// EFI_IFR_FRAMEWORK_GUID
|
||||
///
|
||||
EFI_GUID Guid;
|
||||
//
|
||||
// EFI_IFR_EXTEND_OP_VAREQNAME
|
||||
//
|
||||
///
|
||||
/// EFI_IFR_EXTEND_OP_VAREQNAME
|
||||
///
|
||||
UINT8 ExtendOpCode;
|
||||
//
|
||||
// Question ID of the Numeric Opcode created.
|
||||
//
|
||||
///
|
||||
/// Question ID of the Numeric Opcode created.
|
||||
///
|
||||
EFI_QUESTION_ID QuestionId;
|
||||
//
|
||||
// For vareqval (0x100),
|
||||
// NameId is 0x100. This value will converte to a Unicode String following this rule.
|
||||
// sprintf(StringBuffer, "%d", NameId)
|
||||
// The the Unicode String will be used as a EFI Variable Name.
|
||||
///
|
||||
/// For vareqval (0x100), NameId is 0x100.
|
||||
/// This value will converte to a Unicode String following this rule.
|
||||
/// sprintf(StringBuffer, "%d", NameId)
|
||||
/// The the Unicode String will be used as a EFI Variable Name.
|
||||
///
|
||||
UINT16 NameId;
|
||||
} EFI_IFR_GUID_VAREQNAME;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/** @file
|
||||
EDK II specific implementation of UEFI variable depend on data structure.
|
||||
The variable data structure related to EDK II specific UEFI variable implementation.
|
||||
|
||||
Copyright (c) 2006 - 2008 Intel Corporation. <BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -15,31 +15,25 @@
|
|||
#ifndef __VARIABLE_FORMAT_H__
|
||||
#define __VARIABLE_FORMAT_H__
|
||||
|
||||
#define VARIABLE_STORE_SIGNATURE EFI_SIGNATURE_32 ('$', 'V', 'S', 'S')
|
||||
|
||||
///
|
||||
/// Maximum buffer for the single variable.
|
||||
///
|
||||
#ifndef MAX_VARIABLE_SIZE
|
||||
#define MAX_VARIABLE_SIZE FixedPcdGet32(PcdMaxVariableSize)
|
||||
#endif
|
||||
//
|
||||
// Enlarges the hardware error record maximum variable size to 32K bytes
|
||||
//
|
||||
|
||||
///
|
||||
/// Hardware error record maximum variable size
|
||||
///
|
||||
#ifndef MAX_HARDWARE_ERROR_VARIABLE_SIZE
|
||||
#define MAX_HARDWARE_ERROR_VARIABLE_SIZE FixedPcdGet32(PcdMaxHardwareErrorVariableSize)
|
||||
#endif
|
||||
|
||||
#define VARIABLE_DATA 0x55AA
|
||||
|
||||
//
|
||||
// Variable Store Header flags
|
||||
//
|
||||
#define VARIABLE_STORE_FORMATTED 0x5a
|
||||
#define VARIABLE_STORE_HEALTHY 0xfe
|
||||
|
||||
//
|
||||
// The alignment of variable's start offset.
|
||||
// For IA32/X64 architecture, the alignment is set to 1, and
|
||||
// 8 is for IPF archtecture.
|
||||
//
|
||||
///
|
||||
/// The alignment of variable's start offset.
|
||||
/// For IA32/X64 architecture, the alignment is set to 1, and
|
||||
/// 8 is for IPF archtecture.
|
||||
///
|
||||
#if defined (MDE_CPU_IPF)
|
||||
#define ALIGNMENT 8
|
||||
#else
|
||||
|
@ -48,9 +42,9 @@
|
|||
|
||||
#define HEADER_ALIGNMENT 4
|
||||
|
||||
//
|
||||
// Variable Store Status
|
||||
//
|
||||
///
|
||||
/// Variable Store Status
|
||||
///
|
||||
typedef enum {
|
||||
EfiRaw,
|
||||
EfiValid,
|
||||
|
@ -58,40 +52,86 @@ typedef enum {
|
|||
EfiUnknown
|
||||
} VARIABLE_STORE_STATUS;
|
||||
|
||||
//
|
||||
// Variable State flags
|
||||
//
|
||||
#define VAR_IN_DELETED_TRANSITION 0xfe // Variable is in obsolete transistion
|
||||
#define VAR_DELETED 0xfd // Variable is obsolete
|
||||
#define VAR_HEADER_VALID_ONLY 0x7f // Variable header has been valid
|
||||
#define VAR_ADDED 0x3f // Variable has been completely added
|
||||
//
|
||||
#define IS_VARIABLE_STATE(_c, _Mask) (BOOLEAN) (((~_c) & (~_Mask)) != 0)
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
//
|
||||
// Variable Store region header
|
||||
//
|
||||
#define VARIABLE_STORE_SIGNATURE EFI_SIGNATURE_32 ('$', 'V', 'S', 'S')
|
||||
|
||||
///
|
||||
/// Variable Store Header Format and State
|
||||
///
|
||||
#define VARIABLE_STORE_FORMATTED 0x5a
|
||||
#define VARIABLE_STORE_HEALTHY 0xfe
|
||||
|
||||
///
|
||||
/// Variable Store region header
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// Variable store region signature.
|
||||
///
|
||||
UINT32 Signature;
|
||||
///
|
||||
/// Size of variable store region including this header
|
||||
///
|
||||
UINT32 Size;
|
||||
///
|
||||
/// variable region format state
|
||||
///
|
||||
UINT8 Format;
|
||||
///
|
||||
/// variable region healthy state
|
||||
///
|
||||
UINT8 State;
|
||||
UINT16 Reserved;
|
||||
UINT32 Reserved1;
|
||||
} VARIABLE_STORE_HEADER;
|
||||
|
||||
//
|
||||
// Variable header structure
|
||||
//
|
||||
///
|
||||
/// Variable data start flag
|
||||
///
|
||||
#define VARIABLE_DATA 0x55AA
|
||||
|
||||
///
|
||||
/// Variable State flags
|
||||
///
|
||||
#define VAR_IN_DELETED_TRANSITION 0xfe /// Variable is in obsolete transistion
|
||||
#define VAR_DELETED 0xfd /// Variable is obsolete
|
||||
#define VAR_HEADER_VALID_ONLY 0x7f /// Variable header has been valid
|
||||
#define VAR_ADDED 0x3f /// Variable has been completely added
|
||||
|
||||
///
|
||||
/// Removed
|
||||
///
|
||||
#define IS_VARIABLE_STATE(_c, _Mask) (BOOLEAN) (((~_c) & (~_Mask)) != 0)
|
||||
|
||||
///
|
||||
/// Variable Data Header Structure
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// Variable Data Start Flag
|
||||
///
|
||||
UINT16 StartId;
|
||||
///
|
||||
/// Variable State defined above
|
||||
///
|
||||
UINT8 State;
|
||||
UINT8 Reserved;
|
||||
///
|
||||
/// Attributes of variable defined in UEFI spec
|
||||
///
|
||||
UINT32 Attributes;
|
||||
///
|
||||
/// Size of variable Null-terminated Unicode string name
|
||||
///
|
||||
UINT32 NameSize;
|
||||
///
|
||||
/// Size of the variable data without this header
|
||||
///
|
||||
UINT32 DataSize;
|
||||
///
|
||||
/// A unique identifier for the vendor.
|
||||
///
|
||||
EFI_GUID VendorGuid;
|
||||
} VARIABLE_HEADER;
|
||||
|
||||
|
|
|
@ -16,23 +16,37 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_WORKING_BLOCK_HEADER_H__
|
||||
#define __EFI_WORKING_BLOCK_HEADER_H__
|
||||
|
||||
//
|
||||
// EFI Fault tolerant working block header
|
||||
// The header is immediately followed by the write queue.
|
||||
//
|
||||
typedef struct {
|
||||
EFI_GUID Signature;
|
||||
UINT32 Crc;
|
||||
UINT8 WorkingBlockValid : 1;
|
||||
UINT8 WorkingBlockInvalid : 1;
|
||||
#define WORKING_BLOCK_VALID 0x1
|
||||
#define WORKING_BLOCK_INVALID 0x2
|
||||
|
||||
///
|
||||
/// EFI Fault tolerant working block header
|
||||
/// The header is immediately followed by the write queue.
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// System Non Volatile FV Guid
|
||||
///
|
||||
EFI_GUID Signature;
|
||||
///
|
||||
/// 32bit CRC caculated for this header
|
||||
///
|
||||
UINT32 Crc;
|
||||
///
|
||||
/// Working block valid bit
|
||||
///
|
||||
UINT8 WorkingBlockValid : 1;
|
||||
UINT8 WorkingBlockInvalid : 1;
|
||||
UINT8 Reserved : 6;
|
||||
UINT8 Reserved3[3];
|
||||
///
|
||||
/// Total size of the following write queue range.
|
||||
///
|
||||
UINT64 WriteQueueSize;
|
||||
//
|
||||
// UINT8 WriteQueue[WriteQueueSize];
|
||||
//
|
||||
///
|
||||
/// Write Queue data
|
||||
/// UINT8 WriteQueue[WriteQueueSize];
|
||||
///
|
||||
} EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER;
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue