/** @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
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution. \r
+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
+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
#define NON_BREAKING_CHAR 0xFFF2\r
\r
///\r
-/// State defined for password statemachine \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
+/// 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
#define EFI_IFR_EXTEND_OP_SUBCLASS 0x4\r
\r
///\r
-/// Label opcode\r
+/// Label opcode.\r
///\r
typedef struct _EFI_IFR_GUID_LABEL {\r
EFI_IFR_OP_HEADER Header;\r
///\r
- /// EFI_IFR_TIANO_GUID\r
+ /// EFI_IFR_TIANO_GUID.\r
///\r
EFI_GUID Guid;\r
///\r
- /// EFI_IFR_EXTEND_OP_LABEL\r
+ /// EFI_IFR_EXTEND_OP_LABEL.\r
///\r
UINT8 ExtendOpCode;\r
///\r
- /// Label Number\r
+ /// Label Number.\r
///\r
UINT16 Number;\r
} EFI_IFR_GUID_LABEL;\r
#define EFI_IFR_BANNER_ALIGN_RIGHT 2\r
\r
///\r
-/// Banner opcode\r
+/// Banner opcode.\r
///\r
typedef struct _EFI_IFR_GUID_BANNER {\r
EFI_IFR_OP_HEADER Header;\r
///\r
- /// EFI_IFR_TIANO_GUID\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_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
+/// Timeout opcode.\r
///\r
typedef struct _EFI_IFR_GUID_TIMEOUT {\r
EFI_IFR_OP_HEADER Header;\r
///\r
- /// EFI_IFR_TIANO_GUID\r
+ /// EFI_IFR_TIANO_GUID.\r
///\r
EFI_GUID Guid;\r
///\r
- /// EFI_IFR_EXTEND_OP_TIMEOUT\r
+ /// EFI_IFR_EXTEND_OP_TIMEOUT.\r
///\r
UINT8 ExtendOpCode;\r
- UINT16 TimeOut; ///< TimeOut Value\r
+ UINT16 TimeOut; ///< TimeOut Value.\r
} EFI_IFR_GUID_TIMEOUT;\r
\r
#define EFI_NON_DEVICE_CLASS 0x00\r
#define EFI_OTHER_DEVICE_CLASS 0x20\r
\r
///\r
-/// Device Class opcode\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
+ /// EFI_IFR_TIANO_GUID.\r
///\r
EFI_GUID Guid;\r
///\r
- /// EFI_IFR_EXTEND_OP_CLASS\r
+ /// EFI_IFR_EXTEND_OP_CLASS.\r
///\r
UINT8 ExtendOpCode;\r
- UINT16 Class; ///< Device Class from the above\r
+ UINT16 Class; ///< Device Class from the above.\r
} EFI_IFR_GUID_CLASS;\r
\r
#define EFI_SETUP_APPLICATION_SUBCLASS 0x00\r
typedef struct _EFI_IFR_GUID_SUBCLASS {\r
EFI_IFR_OP_HEADER Header;\r
///\r
- /// EFI_IFR_TIANO_GUID\r
+ /// EFI_IFR_TIANO_GUID.\r
///\r
EFI_GUID Guid;\r
///\r
- /// EFI_IFR_EXTEND_OP_SUBCLASS\r
+ /// EFI_IFR_EXTEND_OP_SUBCLASS.\r
///\r
UINT8 ExtendOpCode;\r
- UINT16 SubClass; ///< Sub Class type from the above\r
+ UINT16 SubClass; ///< Sub Class type from the above.\r
} EFI_IFR_GUID_SUBCLASS;\r
\r
///\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
+/// Two extended opcodes are added, and new extensions 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
+/// 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
+ /// EFI_IFR_FRAMEWORK_GUID.\r
///\r
EFI_GUID Guid;\r
///\r
- /// EFI_IFR_EXTEND_OP_OPTIONKEY\r
+ /// EFI_IFR_EXTEND_OP_OPTIONKEY.\r
///\r
UINT8 ExtendOpCode;\r
///\r
- /// OneOf Questiond ID binded by OneOf Option\r
+ /// OneOf Questiond ID binded by OneOf Option.\r
///\r
EFI_QUESTION_ID QuestionId;\r
///\r
} EFI_IFR_GUID_OPTIONKEY;\r
\r
///\r
-/// Store the framework vfr vareqval name number\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
+ /// EFI_IFR_FRAMEWORK_GUID.\r
///\r
EFI_GUID Guid;\r
///\r
- /// EFI_IFR_EXTEND_OP_VAREQNAME\r
+ /// EFI_IFR_EXTEND_OP_VAREQNAME.\r
///\r
UINT8 ExtendOpCode;\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
+ /// This value will convert 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
+///\r
+/// EDKII implementation extension GUID, used to indaicate there are bit fields in the varstore.\r
+///\r
+#define EDKII_IFR_BIT_VARSTORE_GUID \\r
+ {0x82DDD68B, 0x9163, 0x4187, {0x9B, 0x27, 0x20, 0xA8, 0xFD, 0x60,0xA7, 0x1D}}\r
+\r
+///\r
+/// EDKII implementation extension flags, used to indaicate the disply style and bit width for bit filed storage.\r
+/// Two high bits for display style and the low six bits for bit width.\r
+///\r
+#define EDKII_IFR_DISPLAY_BIT 0xC0\r
+#define EDKII_IFR_DISPLAY_INT_DEC_BIT 0x00\r
+#define EDKII_IFR_DISPLAY_UINT_DEC_BIT 0x40\r
+#define EDKII_IFR_DISPLAY_UINT_HEX_BIT 0x80\r
+\r
+#define EDKII_IFR_NUMERIC_SIZE_BIT 0x3F\r
+\r
#pragma pack()\r
\r
extern EFI_GUID gEfiIfrTianoGuid;\r
extern EFI_GUID gEfiIfrFrameworkGuid;\r
+extern EFI_GUID gEdkiiIfrBitVarstoreGuid;\r
\r
#endif\r
\r