VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Include/Guid/MdeModuleHii.h@ 107044

Last change on this file since 107044 was 99404, checked in by vboxsync, 22 months ago

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

  • Property svn:eol-style set to native
File size: 5.7 KB
Line 
1/** @file
2 EDKII extented HII IFR guid opcodes.
3
4Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
5SPDX-License-Identifier: BSD-2-Clause-Patent
6
7**/
8
9#ifndef __MDEMODULE_HII_H__
10#define __MDEMODULE_HII_H__
11
12#define NARROW_CHAR 0xFFF0
13#define WIDE_CHAR 0xFFF1
14#define NON_BREAKING_CHAR 0xFFF2
15
16///
17/// State defined for password statemachine .
18///
19#define BROWSER_STATE_VALIDATE_PASSWORD 0
20#define BROWSER_STATE_SET_PASSWORD 1
21
22///
23/// GUIDed opcodes defined for EDKII implementation.
24///
25#define EFI_IFR_TIANO_GUID \
26 { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce} }
27
28#pragma pack(1)
29
30///
31/// EDKII implementation extension opcodes, new extension can be added here later.
32///
33#define EFI_IFR_EXTEND_OP_LABEL 0x0
34#define EFI_IFR_EXTEND_OP_BANNER 0x1
35#define EFI_IFR_EXTEND_OP_TIMEOUT 0x2
36#define EFI_IFR_EXTEND_OP_CLASS 0x3
37#define EFI_IFR_EXTEND_OP_SUBCLASS 0x4
38
39///
40/// Label opcode.
41///
42typedef struct _EFI_IFR_GUID_LABEL {
43 EFI_IFR_OP_HEADER Header;
44 ///
45 /// EFI_IFR_TIANO_GUID.
46 ///
47 EFI_GUID Guid;
48 ///
49 /// EFI_IFR_EXTEND_OP_LABEL.
50 ///
51 UINT8 ExtendOpCode;
52 ///
53 /// Label Number.
54 ///
55 UINT16 Number;
56} EFI_IFR_GUID_LABEL;
57
58#define EFI_IFR_BANNER_ALIGN_LEFT 0
59#define EFI_IFR_BANNER_ALIGN_CENTER 1
60#define EFI_IFR_BANNER_ALIGN_RIGHT 2
61
62///
63/// Banner opcode.
64///
65typedef struct _EFI_IFR_GUID_BANNER {
66 EFI_IFR_OP_HEADER Header;
67 ///
68 /// EFI_IFR_TIANO_GUID.
69 ///
70 EFI_GUID Guid;
71 ///
72 /// EFI_IFR_EXTEND_OP_BANNER
73 ///
74 UINT8 ExtendOpCode;
75 EFI_STRING_ID Title; ///< The string token for the banner title.
76 UINT16 LineNumber; ///< 1-based line number.
77 UINT8 Alignment; ///< left, center, or right-aligned.
78} EFI_IFR_GUID_BANNER;
79
80///
81/// Timeout opcode.
82///
83typedef struct _EFI_IFR_GUID_TIMEOUT {
84 EFI_IFR_OP_HEADER Header;
85 ///
86 /// EFI_IFR_TIANO_GUID.
87 ///
88 EFI_GUID Guid;
89 ///
90 /// EFI_IFR_EXTEND_OP_TIMEOUT.
91 ///
92 UINT8 ExtendOpCode;
93 UINT16 TimeOut; ///< TimeOut Value.
94} EFI_IFR_GUID_TIMEOUT;
95
96#define EFI_NON_DEVICE_CLASS 0x00
97#define EFI_DISK_DEVICE_CLASS 0x01
98#define EFI_VIDEO_DEVICE_CLASS 0x02
99#define EFI_NETWORK_DEVICE_CLASS 0x04
100#define EFI_INPUT_DEVICE_CLASS 0x08
101#define EFI_ON_BOARD_DEVICE_CLASS 0x10
102#define EFI_OTHER_DEVICE_CLASS 0x20
103
104///
105/// Device Class opcode.
106///
107typedef struct _EFI_IFR_GUID_CLASS {
108 EFI_IFR_OP_HEADER Header;
109 ///
110 /// EFI_IFR_TIANO_GUID.
111 ///
112 EFI_GUID Guid;
113 ///
114 /// EFI_IFR_EXTEND_OP_CLASS.
115 ///
116 UINT8 ExtendOpCode;
117 UINT16 Class; ///< Device Class from the above.
118} EFI_IFR_GUID_CLASS;
119
120#define EFI_SETUP_APPLICATION_SUBCLASS 0x00
121#define EFI_GENERAL_APPLICATION_SUBCLASS 0x01
122#define EFI_FRONT_PAGE_SUBCLASS 0x02
123#define EFI_SINGLE_USE_SUBCLASS 0x03
124
125///
126/// SubClass opcode
127///
128typedef struct _EFI_IFR_GUID_SUBCLASS {
129 EFI_IFR_OP_HEADER Header;
130 ///
131 /// EFI_IFR_TIANO_GUID.
132 ///
133 EFI_GUID Guid;
134 ///
135 /// EFI_IFR_EXTEND_OP_SUBCLASS.
136 ///
137 UINT8 ExtendOpCode;
138 UINT16 SubClass; ///< Sub Class type from the above.
139} EFI_IFR_GUID_SUBCLASS;
140
141///
142/// GUIDed opcodes support for framework vfr.
143///
144#define EFI_IFR_FRAMEWORK_GUID \
145 { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 } }
146
147///
148/// Two extended opcodes are added, and new extensions can be added here later.
149/// One is for framework OneOf question Option Key value;
150/// another is for framework vareqval.
151///
152#define EFI_IFR_EXTEND_OP_OPTIONKEY 0x0
153#define EFI_IFR_EXTEND_OP_VAREQNAME 0x1
154
155///
156/// Store the framework vfr option key value.
157///
158typedef struct _EFI_IFR_GUID_OPTIONKEY {
159 EFI_IFR_OP_HEADER Header;
160 ///
161 /// EFI_IFR_FRAMEWORK_GUID.
162 ///
163 EFI_GUID Guid;
164 ///
165 /// EFI_IFR_EXTEND_OP_OPTIONKEY.
166 ///
167 UINT8 ExtendOpCode;
168 ///
169 /// OneOf Questiond ID binded by OneOf Option.
170 ///
171 EFI_QUESTION_ID QuestionId;
172 ///
173 /// The OneOf Option Value.
174 ///
175 EFI_IFR_TYPE_VALUE OptionValue;
176 ///
177 /// The Framework OneOf Option Key Value.
178 ///
179 UINT16 KeyValue;
180} EFI_IFR_GUID_OPTIONKEY;
181
182///
183/// Store the framework vfr vareqval name number.
184///
185typedef struct _EFI_IFR_GUID_VAREQNAME {
186 EFI_IFR_OP_HEADER Header;
187 ///
188 /// EFI_IFR_FRAMEWORK_GUID.
189 ///
190 EFI_GUID Guid;
191 ///
192 /// EFI_IFR_EXTEND_OP_VAREQNAME.
193 ///
194 UINT8 ExtendOpCode;
195 ///
196 /// Question ID of the Numeric Opcode created.
197 ///
198 EFI_QUESTION_ID QuestionId;
199 ///
200 /// For vareqval (0x100), NameId is 0x100.
201 /// This value will convert to a Unicode String following this rule;
202 /// sprintf(StringBuffer, "%d", NameId) .
203 /// The the Unicode String will be used as a EFI Variable Name.
204 ///
205 UINT16 NameId;
206} EFI_IFR_GUID_VAREQNAME;
207
208///
209/// EDKII implementation extension GUID, used to indaicate there are bit fields in the varstore.
210///
211#define EDKII_IFR_BIT_VARSTORE_GUID \
212 {0x82DDD68B, 0x9163, 0x4187, {0x9B, 0x27, 0x20, 0xA8, 0xFD, 0x60,0xA7, 0x1D}}
213
214///
215/// EDKII implementation extension flags, used to indaicate the disply style and bit width for bit filed storage.
216/// Two high bits for display style and the low six bits for bit width.
217///
218#define EDKII_IFR_DISPLAY_BIT 0xC0
219#define EDKII_IFR_DISPLAY_INT_DEC_BIT 0x00
220#define EDKII_IFR_DISPLAY_UINT_DEC_BIT 0x40
221#define EDKII_IFR_DISPLAY_UINT_HEX_BIT 0x80
222
223#define EDKII_IFR_NUMERIC_SIZE_BIT 0x3F
224
225#pragma pack()
226
227extern EFI_GUID gEfiIfrTianoGuid;
228extern EFI_GUID gEfiIfrFrameworkGuid;
229extern EFI_GUID gEdkiiIfrBitVarstoreGuid;
230
231#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette