X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=BaseTools%2FSource%2FC%2FInclude%2FCommon%2FMdeModuleHii.h;h=b756fef2c378ef3a16482621c00038f909ad036c;hp=022a7492f21d3e48f899fe14ba5d352f0c2cf17b;hb=324c886410487f77e8643f6319f6cf751c65062b;hpb=30fdf1140b8d1ce93f3821d986fa165552023440 diff --git a/BaseTools/Source/C/Include/Common/MdeModuleHii.h b/BaseTools/Source/C/Include/Common/MdeModuleHii.h index 022a7492f2..b756fef2c3 100644 --- a/BaseTools/Source/C/Include/Common/MdeModuleHii.h +++ b/BaseTools/Source/C/Include/Common/MdeModuleHii.h @@ -1,7 +1,7 @@ /** @file EDK II specific HII relative definition. - Copyright (c) 2006 - 2007, Intel Corporation All rights reserved. + Copyright (c) 2006 - 2011, 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 @@ -22,51 +22,45 @@ #define WIDE_CHAR 0xFFF1 #define NON_BREAKING_CHAR 0xFFF2 -#define GLYPH_WIDTH EFI_GLYPH_WIDTH -#define GLYPH_HEIGHT EFI_GLYPH_HEIGHT - -// -// 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. -// -#pragma pack(1) -typedef struct { - VENDOR_DEVICE_PATH VendorDevicePath; - UINT32 Reserved; - UINT64 UniqueId; -} HII_VENDOR_DEVICE_PATH_NODE; -#pragma pack() - -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; @@ -74,20 +68,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 @@ -98,11 +110,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 @@ -110,45 +131,93 @@ 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 Tiano -// +/// +/// GUIDed opcodes support for framework vfr. +/// #define EFI_IFR_FRAMEWORK_GUID \ { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 } } +/// +/// Two extended opcodes are added, and new extensions 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. + /// UINT8 ExtendOpCode; + /// + /// OneOf Questiond ID binded by OneOf Option. + /// EFI_QUESTION_ID QuestionId; + /// + /// The OneOf Option Value. + /// EFI_IFR_TYPE_VALUE OptionValue; - EFI_QUESTION_ID KeyValue; + /// + /// 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. + /// UINT8 ExtendOpCode; + /// + /// Question ID of the Numeric Opcode created. + /// EFI_QUESTION_ID QuestionId; - EFI_STRING_ID NameId; + /// + /// For vareqval (0x100), NameId is 0x100. + /// This value will convert 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