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