]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Include/Guid/MdeModuleHii.h
Clean up DEC files:
[mirror_edk2.git] / MdeModulePkg / Include / Guid / MdeModuleHii.h
CommitLineData
d393bdda 1/** @file\r
e5618791 2 EDKII extented HII IFR guid opcodes.\r
93e3992d 3\r
cd5ebaa0 4Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
64a80549 5This program and the accompanying materials are licensed and made available under \r
6the terms and conditions of the BSD License that accompanies this distribution. \r
7The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php. \r
93e3992d 9\r
64a80549 10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
93e3992d 11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
14\r
5f597758
LG
15#ifndef __MDEMODULE_HII_H__\r
16#define __MDEMODULE_HII_H__\r
93e3992d 17\r
18#define NARROW_CHAR 0xFFF0\r
19#define WIDE_CHAR 0xFFF1\r
20#define NON_BREAKING_CHAR 0xFFF2\r
21\r
ebafc55b 22///\r
64a80549 23/// State defined for password statemachine .\r
ebafc55b 24///\r
93e3992d 25#define BROWSER_STATE_VALIDATE_PASSWORD 0\r
26#define BROWSER_STATE_SET_PASSWORD 1\r
27\r
ebafc55b 28///\r
64a80549 29/// GUIDed opcodes defined for EDKII implementation.\r
ebafc55b 30///\r
93e3992d 31#define EFI_IFR_TIANO_GUID \\r
32 { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce} }\r
33\r
93e3992d 34#pragma pack(1)\r
35\r
ebafc55b
LG
36///\r
37/// EDKII implementation extension opcodes, new extension can be added here later.\r
38///\r
93e3992d 39#define EFI_IFR_EXTEND_OP_LABEL 0x0\r
40#define EFI_IFR_EXTEND_OP_BANNER 0x1\r
41#define EFI_IFR_EXTEND_OP_TIMEOUT 0x2\r
42#define EFI_IFR_EXTEND_OP_CLASS 0x3\r
43#define EFI_IFR_EXTEND_OP_SUBCLASS 0x4\r
44\r
ebafc55b 45///\r
64a80549 46/// Label opcode.\r
ebafc55b 47///\r
93e3992d 48typedef struct _EFI_IFR_GUID_LABEL {\r
49 EFI_IFR_OP_HEADER Header;\r
ebafc55b 50 ///\r
64a80549 51 /// EFI_IFR_TIANO_GUID.\r
ebafc55b 52 ///\r
93e3992d 53 EFI_GUID Guid;\r
ebafc55b 54 ///\r
64a80549 55 /// EFI_IFR_EXTEND_OP_LABEL.\r
ebafc55b 56 ///\r
93e3992d 57 UINT8 ExtendOpCode;\r
ebafc55b 58 ///\r
64a80549 59 /// Label Number.\r
ebafc55b 60 ///\r
93e3992d 61 UINT16 Number;\r
62} EFI_IFR_GUID_LABEL;\r
63\r
64#define EFI_IFR_BANNER_ALIGN_LEFT 0\r
65#define EFI_IFR_BANNER_ALIGN_CENTER 1\r
66#define EFI_IFR_BANNER_ALIGN_RIGHT 2\r
67\r
ebafc55b 68///\r
64a80549 69/// Banner opcode.\r
ebafc55b 70///\r
93e3992d 71typedef struct _EFI_IFR_GUID_BANNER {\r
72 EFI_IFR_OP_HEADER Header;\r
ebafc55b 73 ///\r
64a80549 74 /// EFI_IFR_TIANO_GUID.\r
ebafc55b 75 ///\r
93e3992d 76 EFI_GUID Guid;\r
ebafc55b
LG
77 ///\r
78 /// EFI_IFR_EXTEND_OP_BANNER\r
79 ///\r
80 UINT8 ExtendOpCode;\r
64a80549 81 EFI_STRING_ID Title; ///< The string token for the banner title.\r
82 UINT16 LineNumber; ///< 1-based line number.\r
83 UINT8 Alignment; ///< left, center, or right-aligned.\r
93e3992d 84} EFI_IFR_GUID_BANNER;\r
85\r
ebafc55b 86///\r
64a80549 87/// Timeout opcode.\r
ebafc55b 88///\r
93e3992d 89typedef struct _EFI_IFR_GUID_TIMEOUT {\r
90 EFI_IFR_OP_HEADER Header;\r
ebafc55b 91 ///\r
64a80549 92 /// EFI_IFR_TIANO_GUID.\r
ebafc55b 93 ///\r
93e3992d 94 EFI_GUID Guid;\r
ebafc55b 95 ///\r
64a80549 96 /// EFI_IFR_EXTEND_OP_TIMEOUT.\r
ebafc55b 97 ///\r
93e3992d 98 UINT8 ExtendOpCode;\r
64a80549 99 UINT16 TimeOut; ///< TimeOut Value.\r
93e3992d 100} EFI_IFR_GUID_TIMEOUT;\r
101\r
102#define EFI_NON_DEVICE_CLASS 0x00\r
103#define EFI_DISK_DEVICE_CLASS 0x01\r
104#define EFI_VIDEO_DEVICE_CLASS 0x02\r
105#define EFI_NETWORK_DEVICE_CLASS 0x04\r
106#define EFI_INPUT_DEVICE_CLASS 0x08\r
107#define EFI_ON_BOARD_DEVICE_CLASS 0x10\r
108#define EFI_OTHER_DEVICE_CLASS 0x20\r
109\r
ebafc55b 110///\r
64a80549 111/// Device Class opcode.\r
ebafc55b 112///\r
93e3992d 113typedef struct _EFI_IFR_GUID_CLASS {\r
114 EFI_IFR_OP_HEADER Header;\r
ebafc55b 115 ///\r
64a80549 116 /// EFI_IFR_TIANO_GUID.\r
ebafc55b 117 ///\r
93e3992d 118 EFI_GUID Guid;\r
ebafc55b 119 ///\r
64a80549 120 /// EFI_IFR_EXTEND_OP_CLASS.\r
ebafc55b 121 ///\r
93e3992d 122 UINT8 ExtendOpCode;\r
64a80549 123 UINT16 Class; ///< Device Class from the above.\r
93e3992d 124} EFI_IFR_GUID_CLASS;\r
125\r
126#define EFI_SETUP_APPLICATION_SUBCLASS 0x00\r
127#define EFI_GENERAL_APPLICATION_SUBCLASS 0x01\r
128#define EFI_FRONT_PAGE_SUBCLASS 0x02\r
129#define EFI_SINGLE_USE_SUBCLASS 0x03\r
130\r
ebafc55b
LG
131///\r
132/// SubClass opcode\r
133///\r
93e3992d 134typedef struct _EFI_IFR_GUID_SUBCLASS {\r
135 EFI_IFR_OP_HEADER Header;\r
ebafc55b 136 ///\r
64a80549 137 /// EFI_IFR_TIANO_GUID.\r
ebafc55b 138 ///\r
93e3992d 139 EFI_GUID Guid;\r
ebafc55b 140 ///\r
64a80549 141 /// EFI_IFR_EXTEND_OP_SUBCLASS.\r
ebafc55b 142 ///\r
93e3992d 143 UINT8 ExtendOpCode;\r
64a80549 144 UINT16 SubClass; ///< Sub Class type from the above.\r
93e3992d 145} EFI_IFR_GUID_SUBCLASS;\r
146\r
ebafc55b
LG
147///\r
148/// GUIDed opcodes support for framework vfr.\r
149///\r
f2a05cc2 150#define EFI_IFR_FRAMEWORK_GUID \\r
151 { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 } }\r
152\r
ebafc55b 153///\r
e9b67286 154/// Two extended opcodes are added, and new extensions can be added here later.\r
64a80549 155/// One is for framework OneOf question Option Key value;\r
156/// another is for framework vareqval.\r
ebafc55b 157///\r
f2a05cc2 158#define EFI_IFR_EXTEND_OP_OPTIONKEY 0x0\r
159#define EFI_IFR_EXTEND_OP_VAREQNAME 0x1\r
160\r
ebafc55b 161///\r
64a80549 162/// Store the framework vfr option key value.\r
ebafc55b 163///\r
f02d0c0f
LG
164typedef struct _EFI_IFR_GUID_OPTIONKEY {\r
165 EFI_IFR_OP_HEADER Header;\r
ebafc55b 166 ///\r
64a80549 167 /// EFI_IFR_FRAMEWORK_GUID.\r
ebafc55b 168 ///\r
f02d0c0f 169 EFI_GUID Guid;\r
ebafc55b 170 ///\r
64a80549 171 /// EFI_IFR_EXTEND_OP_OPTIONKEY.\r
ebafc55b 172 ///\r
f02d0c0f 173 UINT8 ExtendOpCode;\r
ebafc55b 174 ///\r
64a80549 175 /// OneOf Questiond ID binded by OneOf Option.\r
ebafc55b 176 ///\r
f02d0c0f 177 EFI_QUESTION_ID QuestionId;\r
ebafc55b
LG
178 ///\r
179 /// The OneOf Option Value.\r
180 ///\r
f02d0c0f 181 EFI_IFR_TYPE_VALUE OptionValue;\r
ebafc55b
LG
182 ///\r
183 /// The Framework OneOf Option Key Value.\r
184 ///\r
f2a05cc2 185 UINT16 KeyValue;\r
f02d0c0f
LG
186} EFI_IFR_GUID_OPTIONKEY;\r
187\r
ebafc55b 188///\r
64a80549 189/// Store the framework vfr vareqval name number.\r
ebafc55b 190///\r
f2a05cc2 191typedef struct _EFI_IFR_GUID_VAREQNAME {\r
192 EFI_IFR_OP_HEADER Header;\r
ebafc55b 193 ///\r
64a80549 194 /// EFI_IFR_FRAMEWORK_GUID.\r
ebafc55b 195 ///\r
f2a05cc2 196 EFI_GUID Guid;\r
ebafc55b 197 ///\r
64a80549 198 /// EFI_IFR_EXTEND_OP_VAREQNAME.\r
ebafc55b 199 ///\r
f2a05cc2 200 UINT8 ExtendOpCode;\r
ebafc55b
LG
201 ///\r
202 /// Question ID of the Numeric Opcode created.\r
203 ///\r
f2a05cc2 204 EFI_QUESTION_ID QuestionId;\r
ebafc55b
LG
205 ///\r
206 /// For vareqval (0x100), NameId is 0x100.\r
64a80549 207 /// This value will convert to a Unicode String following this rule;\r
208 /// sprintf(StringBuffer, "%d", NameId) .\r
ebafc55b
LG
209 /// The the Unicode String will be used as a EFI Variable Name.\r
210 ///\r
7b05e2c9 211 UINT16 NameId;\r
f2a05cc2 212} EFI_IFR_GUID_VAREQNAME;\r
213\r
93e3992d 214#pragma pack()\r
215\r
5c526736
LG
216extern EFI_GUID gEfiIfrTianoGuid;\r
217extern EFI_GUID gEfiIfrFrameworkGuid;\r
218\r
93e3992d 219#endif\r
220\r