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