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:
lgao4
2009-02-23 15:18:48 +00:00
parent 7731944275
commit 5c52673637
20 changed files with 81 additions and 135 deletions

View 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

View File

@@ -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