VirtualBox

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

Last change on this file since 77599 was 58466, checked in by vboxsync, 9 years ago

EFI/Firmware: Merged in the svn:eol-style, svn:mime-type and trailing whitespace cleanup that was done after the initial UDK2014.SP1 import: svn merge /vendor/edk2/UDK2014.SP1 /vendor/edk2/current .

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