+++ /dev/null
-/** @file\r
- EDKII extented HII IFR guid opcodes.\r
-\r
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef __MDEMODULE_HII_H__\r
-#define __MDEMODULE_HII_H__\r
-\r
-#define NARROW_CHAR 0xFFF0\r
-#define WIDE_CHAR 0xFFF1\r
-#define NON_BREAKING_CHAR 0xFFF2\r
-\r
-///\r
-/// State defined for password statemachine \r
-///\r
-#define BROWSER_STATE_VALIDATE_PASSWORD 0\r
-#define BROWSER_STATE_SET_PASSWORD 1\r
-\r
-\r
-///\r
-/// HII specific Vendor Device Path Node definition.\r
-///\r
-#pragma pack(1)\r
-typedef struct {\r
- VENDOR_DEVICE_PATH VendorDevicePath;\r
- UINT32 Reserved;\r
- UINT64 UniqueId;\r
-} HII_VENDOR_DEVICE_PATH_NODE;\r
-#pragma pack()\r
-\r
-///\r
-/// HII specific Vendor Device Path definition.\r
-///\r
-typedef struct {\r
- HII_VENDOR_DEVICE_PATH_NODE Node;\r
- EFI_DEVICE_PATH_PROTOCOL End;\r
-} HII_VENDOR_DEVICE_PATH;\r
-\r
-///\r
-/// GUIDed opcodes defined for EDKII implementation\r
-///\r
-#define EFI_IFR_TIANO_GUID \\r
- { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce} }\r
-\r
-#pragma pack(1)\r
-\r
-///\r
-/// EDKII implementation extension opcodes, new extension can be added here later.\r
-///\r
-#define EFI_IFR_EXTEND_OP_LABEL 0x0\r
-#define EFI_IFR_EXTEND_OP_BANNER 0x1\r
-#define EFI_IFR_EXTEND_OP_TIMEOUT 0x2\r
-#define EFI_IFR_EXTEND_OP_CLASS 0x3\r
-#define EFI_IFR_EXTEND_OP_SUBCLASS 0x4\r
-\r
-///\r
-/// Label opcode\r
-///\r
-typedef struct _EFI_IFR_GUID_LABEL {\r
- EFI_IFR_OP_HEADER Header;\r
- ///\r
- /// EFI_IFR_TIANO_GUID\r
- ///\r
- EFI_GUID Guid;\r
- ///\r
- /// EFI_IFR_EXTEND_OP_LABEL\r
- ///\r
- UINT8 ExtendOpCode;\r
- ///\r
- /// Label Number\r
- ///\r
- UINT16 Number;\r
-} EFI_IFR_GUID_LABEL;\r
-\r
-#define EFI_IFR_BANNER_ALIGN_LEFT 0\r
-#define EFI_IFR_BANNER_ALIGN_CENTER 1\r
-#define EFI_IFR_BANNER_ALIGN_RIGHT 2\r
-\r
-///\r
-/// Banner opcode\r
-///\r
-typedef struct _EFI_IFR_GUID_BANNER {\r
- EFI_IFR_OP_HEADER Header;\r
- ///\r
- /// EFI_IFR_TIANO_GUID\r
- ///\r
- EFI_GUID Guid;\r
- ///\r
- /// EFI_IFR_EXTEND_OP_BANNER\r
- ///\r
- UINT8 ExtendOpCode;\r
- EFI_STRING_ID Title; ///< The string token for the banner title\r
- UINT16 LineNumber; ///< 1-based line number\r
- UINT8 Alignment; ///< left, center, or right-aligned\r
-} EFI_IFR_GUID_BANNER;\r
-\r
-///\r
-/// Timeout opcode\r
-///\r
-typedef struct _EFI_IFR_GUID_TIMEOUT {\r
- EFI_IFR_OP_HEADER Header;\r
- ///\r
- /// EFI_IFR_TIANO_GUID\r
- ///\r
- EFI_GUID Guid;\r
- ///\r
- /// EFI_IFR_EXTEND_OP_TIMEOUT\r
- ///\r
- UINT8 ExtendOpCode;\r
- UINT16 TimeOut; ///< TimeOut Value\r
-} EFI_IFR_GUID_TIMEOUT;\r
-\r
-#define EFI_NON_DEVICE_CLASS 0x00\r
-#define EFI_DISK_DEVICE_CLASS 0x01\r
-#define EFI_VIDEO_DEVICE_CLASS 0x02\r
-#define EFI_NETWORK_DEVICE_CLASS 0x04\r
-#define EFI_INPUT_DEVICE_CLASS 0x08\r
-#define EFI_ON_BOARD_DEVICE_CLASS 0x10\r
-#define EFI_OTHER_DEVICE_CLASS 0x20\r
-\r
-///\r
-/// Device Class opcode\r
-///\r
-typedef struct _EFI_IFR_GUID_CLASS {\r
- EFI_IFR_OP_HEADER Header;\r
- ///\r
- /// EFI_IFR_TIANO_GUID\r
- ///\r
- EFI_GUID Guid;\r
- ///\r
- /// EFI_IFR_EXTEND_OP_CLASS\r
- ///\r
- UINT8 ExtendOpCode;\r
- UINT16 Class; ///< Device Class from the above\r
-} EFI_IFR_GUID_CLASS;\r
-\r
-#define EFI_SETUP_APPLICATION_SUBCLASS 0x00\r
-#define EFI_GENERAL_APPLICATION_SUBCLASS 0x01\r
-#define EFI_FRONT_PAGE_SUBCLASS 0x02\r
-#define EFI_SINGLE_USE_SUBCLASS 0x03\r
-\r
-///\r
-/// SubClass opcode\r
-///\r
-typedef struct _EFI_IFR_GUID_SUBCLASS {\r
- EFI_IFR_OP_HEADER Header;\r
- ///\r
- /// EFI_IFR_TIANO_GUID\r
- ///\r
- EFI_GUID Guid;\r
- ///\r
- /// EFI_IFR_EXTEND_OP_SUBCLASS\r
- ///\r
- UINT8 ExtendOpCode;\r
- UINT16 SubClass; ///< Sub Class type from the above\r
-} EFI_IFR_GUID_SUBCLASS;\r
-\r
-///\r
-/// GUIDed opcodes support for framework vfr.\r
-///\r
-#define EFI_IFR_FRAMEWORK_GUID \\r
- { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 } }\r
-\r
-///\r
-/// Two extended opcode are added, new extension can be added here later.\r
-/// One is for framework OneOf question Option Key value,\r
-/// Another is for framework vareqval.\r
-///\r
-#define EFI_IFR_EXTEND_OP_OPTIONKEY 0x0\r
-#define EFI_IFR_EXTEND_OP_VAREQNAME 0x1\r
-\r
-///\r
-/// Store the framework vfr option key value\r
-///\r
-typedef struct _EFI_IFR_GUID_OPTIONKEY {\r
- EFI_IFR_OP_HEADER Header;\r
- ///\r
- /// EFI_IFR_FRAMEWORK_GUID\r
- ///\r
- EFI_GUID Guid;\r
- ///\r
- /// EFI_IFR_EXTEND_OP_OPTIONKEY\r
- ///\r
- UINT8 ExtendOpCode;\r
- ///\r
- /// OneOf Questiond ID binded by OneOf Option\r
- ///\r
- EFI_QUESTION_ID QuestionId;\r
- ///\r
- /// The OneOf Option Value.\r
- ///\r
- EFI_IFR_TYPE_VALUE OptionValue;\r
- ///\r
- /// The Framework OneOf Option Key Value.\r
- ///\r
- UINT16 KeyValue;\r
-} EFI_IFR_GUID_OPTIONKEY;\r
-\r
-///\r
-/// Store the framework vfr vareqval name number\r
-///\r
-typedef struct _EFI_IFR_GUID_VAREQNAME {\r
- EFI_IFR_OP_HEADER Header;\r
- ///\r
- /// EFI_IFR_FRAMEWORK_GUID\r
- ///\r
- EFI_GUID Guid;\r
- ///\r
- /// EFI_IFR_EXTEND_OP_VAREQNAME\r
- ///\r
- UINT8 ExtendOpCode;\r
- ///\r
- /// Question ID of the Numeric Opcode created.\r
- ///\r
- EFI_QUESTION_ID QuestionId;\r
- ///\r
- /// For vareqval (0x100), NameId is 0x100.\r
- /// This value will converte to a Unicode String following this rule.\r
- /// sprintf(StringBuffer, "%d", NameId)\r
- /// The the Unicode String will be used as a EFI Variable Name.\r
- ///\r
- UINT16 NameId;\r
-} EFI_IFR_GUID_VAREQNAME;\r
-\r
-#pragma pack()\r
-\r
-#endif\r
-\r