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