Move MdeModuleHii.h into Include\Guid directory
Move Capsule.h into MdePkg\Include\Protocol directory because Capsule is defined in PI1.0a. Merge WorkingBlockHeader.h into SystemNvDataGuid.h Remove unused NvDataFvHob. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7606 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
240
MdeModulePkg/Include/Guid/MdeModuleHii.h
Normal file
240
MdeModulePkg/Include/Guid/MdeModuleHii.h
Normal file
@@ -0,0 +1,240 @@
|
||||
/** @file
|
||||
EDKII extented HII IFR guid opcodes.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. <BR>
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __MDEMODULE_HII_H__
|
||||
#define __MDEMODULE_HII_H__
|
||||
|
||||
#define NARROW_CHAR 0xFFF0
|
||||
#define WIDE_CHAR 0xFFF1
|
||||
#define NON_BREAKING_CHAR 0xFFF2
|
||||
|
||||
///
|
||||
/// State defined for password statemachine
|
||||
///
|
||||
#define BROWSER_STATE_VALIDATE_PASSWORD 0
|
||||
#define BROWSER_STATE_SET_PASSWORD 1
|
||||
|
||||
|
||||
///
|
||||
/// HII specific Vendor Device Path Node definition.
|
||||
///
|
||||
#pragma pack(1)
|
||||
typedef struct {
|
||||
VENDOR_DEVICE_PATH VendorDevicePath;
|
||||
UINT32 Reserved;
|
||||
UINT64 UniqueId;
|
||||
} 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 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;
|
||||
|
||||
#define EFI_IFR_BANNER_ALIGN_LEFT 0
|
||||
#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;
|
||||
///
|
||||
/// 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; ///< TimeOut Value
|
||||
} EFI_IFR_GUID_TIMEOUT;
|
||||
|
||||
#define EFI_NON_DEVICE_CLASS 0x00
|
||||
#define EFI_DISK_DEVICE_CLASS 0x01
|
||||
#define EFI_VIDEO_DEVICE_CLASS 0x02
|
||||
#define EFI_NETWORK_DEVICE_CLASS 0x04
|
||||
#define EFI_INPUT_DEVICE_CLASS 0x08
|
||||
#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; ///< Device Class from the above
|
||||
} EFI_IFR_GUID_CLASS;
|
||||
|
||||
#define EFI_SETUP_APPLICATION_SUBCLASS 0x00
|
||||
#define EFI_GENERAL_APPLICATION_SUBCLASS 0x01
|
||||
#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; ///< Sub Class type from the above
|
||||
} EFI_IFR_GUID_SUBCLASS;
|
||||
|
||||
///
|
||||
/// 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
|
||||
///
|
||||
typedef struct _EFI_IFR_GUID_OPTIONKEY {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// EFI_IFR_FRAMEWORK_GUID
|
||||
///
|
||||
EFI_GUID Guid;
|
||||
///
|
||||
/// EFI_IFR_EXTEND_OP_OPTIONKEY
|
||||
///
|
||||
UINT8 ExtendOpCode;
|
||||
///
|
||||
/// OneOf Questiond ID binded by OneOf Option
|
||||
///
|
||||
EFI_QUESTION_ID QuestionId;
|
||||
///
|
||||
/// The OneOf Option Value.
|
||||
///
|
||||
EFI_IFR_TYPE_VALUE OptionValue;
|
||||
///
|
||||
/// The Framework OneOf Option Key Value.
|
||||
///
|
||||
UINT16 KeyValue;
|
||||
} EFI_IFR_GUID_OPTIONKEY;
|
||||
|
||||
///
|
||||
/// 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
|
||||
///
|
||||
UINT8 ExtendOpCode;
|
||||
///
|
||||
/// 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.
|
||||
///
|
||||
UINT16 NameId;
|
||||
} EFI_IFR_GUID_VAREQNAME;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
extern EFI_GUID gEfiIfrTianoGuid;
|
||||
extern EFI_GUID gEfiIfrFrameworkGuid;
|
||||
|
||||
#endif
|
||||
|
@@ -1,10 +1,5 @@
|
||||
/** @file
|
||||
This file defines NvData Hob GUIDs for System Non Volatile HOB entries
|
||||
and the corresponding hob data structure. NvData Hob can be used to report
|
||||
the region of the system non volatile data for the specific purpose,
|
||||
such as FTW region, Error log region.
|
||||
|
||||
It also defines NvDataFv GUID.
|
||||
/** @file
|
||||
This file defines NvDataFv GUID and FTW working block structure header.
|
||||
This guid can be used as FileSystemGuid in EFI_FIRMWARE_VOLUME_HEADER if
|
||||
this FV image contains NV data, such as NV variable data.
|
||||
This guid can also be used as the signature of FTW working block header.
|
||||
@@ -26,27 +21,42 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#define EFI_SYSTEM_NV_DATA_FV_GUID \
|
||||
{0xfff12b8d, 0x7696, 0x4c8b, {0xa9, 0x85, 0x27, 0x47, 0x7, 0x5b, 0x4f, 0x50} }
|
||||
|
||||
#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_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;
|
||||
|
||||
#define WORKING_BLOCK_VALID 0x1
|
||||
#define WORKING_BLOCK_INVALID 0x2
|
||||
|
||||
///
|
||||
/// EDKII Fault tolerant working block header
|
||||
/// The header is immediately followed by the write queue data.
|
||||
///
|
||||
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;
|
||||
///
|
||||
/// Write Queue data
|
||||
/// UINT8 WriteQueue[WriteQueueSize];
|
||||
///
|
||||
} EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER;
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user