iPXE
UefiInternalFormRepresentation.h
Go to the documentation of this file.
1/** @file
2 This file defines the encoding for the VFR (Visual Form Representation) language.
3 IFR is primarily consumed by the EFI presentation engine, and produced by EFI
4 internal application and drivers as well as all add-in card option-ROM drivers
5
6Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
7(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
8SPDX-License-Identifier: BSD-2-Clause-Patent
9
10 @par Revision Reference:
11 These definitions are from UEFI 2.1 and 2.2.
12
13**/
14
15#ifndef __UEFI_INTERNAL_FORMREPRESENTATION_H__
16#define __UEFI_INTERNAL_FORMREPRESENTATION_H__
17
18FILE_LICENCE ( BSD2_PATENT );
19FILE_SECBOOT ( PERMITTED );
20
22
23///
24/// The following types are currently defined:
25///
34
36
38
39#pragma pack(1)
40
41//
42// Definitions for Package Lists and Package Headers
43// Section 27.3.1
44//
45
46///
47/// The header found at the start of each package list.
48///
53
54///
55/// The header found at the start of each package.
56///
57typedef struct {
60 // UINT8 Data[...];
62
63//
64// Value of HII package type
65//
66#define EFI_HII_PACKAGE_TYPE_ALL 0x00
67#define EFI_HII_PACKAGE_TYPE_GUID 0x01
68#define EFI_HII_PACKAGE_FORMS 0x02
69#define EFI_HII_PACKAGE_STRINGS 0x04
70#define EFI_HII_PACKAGE_FONTS 0x05
71#define EFI_HII_PACKAGE_IMAGES 0x06
72#define EFI_HII_PACKAGE_SIMPLE_FONTS 0x07
73#define EFI_HII_PACKAGE_DEVICE_PATH 0x08
74#define EFI_HII_PACKAGE_KEYBOARD_LAYOUT 0x09
75#define EFI_HII_PACKAGE_ANIMATIONS 0x0A
76#define EFI_HII_PACKAGE_END 0xDF
77#define EFI_HII_PACKAGE_TYPE_SYSTEM_BEGIN 0xE0
78#define EFI_HII_PACKAGE_TYPE_SYSTEM_END 0xFF
79
80//
81// Definitions for Simplified Font Package
82//
83
84///
85/// Contents of EFI_NARROW_GLYPH.Attributes.
86///@{
87#define EFI_GLYPH_NON_SPACING 0x01
88#define EFI_GLYPH_WIDE 0x02
89#define EFI_GLYPH_HEIGHT 19
90#define EFI_GLYPH_WIDTH 8
91///@}
92
93///
94/// The EFI_NARROW_GLYPH has a preferred dimension (w x h) of 8 x 19 pixels.
95///
96typedef struct {
97 ///
98 /// The Unicode representation of the glyph. The term weight is the
99 /// technical term for a character code.
100 ///
102 ///
103 /// The data element containing the glyph definitions.
104 ///
106 ///
107 /// The column major glyph representation of the character. Bits
108 /// with values of one indicate that the corresponding pixel is to be
109 /// on when normally displayed; those with zero are off.
110 ///
113
114///
115/// The EFI_WIDE_GLYPH has a preferred dimension (w x h) of 16 x 19 pixels, which is large enough
116/// to accommodate logographic characters.
117///
118typedef struct {
119 ///
120 /// The Unicode representation of the glyph. The term weight is the
121 /// technical term for a character code.
122 ///
124 ///
125 /// The data element containing the glyph definitions.
126 ///
128 ///
129 /// The column major glyph representation of the character. Bits
130 /// with values of one indicate that the corresponding pixel is to be
131 /// on when normally displayed; those with zero are off.
132 ///
134 ///
135 /// The column major glyph representation of the character. Bits
136 /// with values of one indicate that the corresponding pixel is to be
137 /// on when normally displayed; those with zero are off.
138 ///
140 ///
141 /// Ensures that sizeof (EFI_WIDE_GLYPH) is twice the
142 /// sizeof (EFI_NARROW_GLYPH). The contents of Pad must
143 /// be zero.
144 ///
147
148///
149/// A simplified font package consists of a font header
150/// followed by a series of glyph structures.
151///
159
160//
161// Definitions for Font Package
162// Section 27.3.3
163//
164
165//
166// Value for font style
167//
168#define EFI_HII_FONT_STYLE_NORMAL 0x00000000
169#define EFI_HII_FONT_STYLE_BOLD 0x00000001
170#define EFI_HII_FONT_STYLE_ITALIC 0x00000002
171#define EFI_HII_FONT_STYLE_EMBOSS 0x00010000
172#define EFI_HII_FONT_STYLE_OUTLINE 0x00020000
173#define EFI_HII_FONT_STYLE_SHADOW 0x00040000
174#define EFI_HII_FONT_STYLE_UNDERLINE 0x00080000
175#define EFI_HII_FONT_STYLE_DBL_UNDER 0x00100000
176
184
185///
186/// The fixed header consists of a standard record header,
187/// then the character values in this section, the flags
188/// (including the encoding method) and the offsets of the glyph
189/// information, the glyph bitmaps and the character map.
190///
199
200//
201// Value of different glyph info block types
202//
203#define EFI_HII_GIBT_END 0x00
204#define EFI_HII_GIBT_GLYPH 0x10
205#define EFI_HII_GIBT_GLYPHS 0x11
206#define EFI_HII_GIBT_GLYPH_DEFAULT 0x12
207#define EFI_HII_GIBT_GLYPHS_DEFAULT 0x13
208#define EFI_HII_GIBT_GLYPH_VARIABILITY 0x14
209#define EFI_HII_GIBT_DUPLICATE 0x20
210#define EFI_HII_GIBT_SKIP2 0x21
211#define EFI_HII_GIBT_SKIP1 0x22
212#define EFI_HII_GIBT_DEFAULTS 0x23
213#define EFI_HII_GIBT_EXT1 0x30
214#define EFI_HII_GIBT_EXT2 0x31
215#define EFI_HII_GIBT_EXT4 0x32
216
220
221//
222// Definition of different glyph info block types
223//
224
229
234
238
244
250
256
262
269
274
280
287
292
297
298//
299// Definitions for Device Path Package
300// Section 27.3.4
301//
302
303///
304/// The device path package is used to carry a device path
305/// associated with the package list.
306///
309 // EFI_DEVICE_PATH_PROTOCOL DevicePath[];
311
312//
313// Definitions for GUID Package
314// Section 27.3.5
315//
316
317///
318/// The GUID package is used to carry data where the format is defined by a GUID.
319///
323 // Data per GUID definition may follow
325
326//
327// Definitions for String Package
328// Section 27.3.6
329//
330
331#define UEFI_CONFIG_LANG "x-UEFI"
332#define UEFI_CONFIG_LANG_2 "x-i-UEFI"
333
334///
335/// The fixed header consists of a standard record header and then the string identifiers
336/// contained in this section and the offsets of the string and language information.
337///
346
350
351//
352// Value of different string information block types
353//
354#define EFI_HII_SIBT_END 0x00
355#define EFI_HII_SIBT_STRING_SCSU 0x10
356#define EFI_HII_SIBT_STRING_SCSU_FONT 0x11
357#define EFI_HII_SIBT_STRINGS_SCSU 0x12
358#define EFI_HII_SIBT_STRINGS_SCSU_FONT 0x13
359#define EFI_HII_SIBT_STRING_UCS2 0x14
360#define EFI_HII_SIBT_STRING_UCS2_FONT 0x15
361#define EFI_HII_SIBT_STRINGS_UCS2 0x16
362#define EFI_HII_SIBT_STRINGS_UCS2_FONT 0x17
363#define EFI_HII_SIBT_DUPLICATE 0x20
364#define EFI_HII_SIBT_SKIP2 0x21
365#define EFI_HII_SIBT_SKIP1 0x22
366#define EFI_HII_SIBT_EXT1 0x30
367#define EFI_HII_SIBT_EXT2 0x31
368#define EFI_HII_SIBT_EXT4 0x32
369#define EFI_HII_SIBT_FONT 0x40
370
371//
372// Definition of different string information block types
373//
374
379
383
389
395
401
409
414
419
424
430
436
443
448
454
460
467
468//
469// Definitions for Image Package
470// Section 27.3.7
471//
472
478
482
483//
484// Value of different image information block types
485//
486#define EFI_HII_IIBT_END 0x00
487#define EFI_HII_IIBT_IMAGE_1BIT 0x10
488#define EFI_HII_IIBT_IMAGE_1BIT_TRANS 0x11
489#define EFI_HII_IIBT_IMAGE_4BIT 0x12
490#define EFI_HII_IIBT_IMAGE_4BIT_TRANS 0x13
491#define EFI_HII_IIBT_IMAGE_8BIT 0x14
492#define EFI_HII_IIBT_IMAGE_8BIT_TRANS 0x15
493#define EFI_HII_IIBT_IMAGE_24BIT 0x16
494#define EFI_HII_IIBT_IMAGE_24BIT_TRANS 0x17
495#define EFI_HII_IIBT_IMAGE_JPEG 0x18
496#define EFI_HII_IIBT_IMAGE_PNG 0x19
497#define EFI_HII_IIBT_DUPLICATE 0x20
498#define EFI_HII_IIBT_SKIP2 0x21
499#define EFI_HII_IIBT_SKIP1 0x22
500#define EFI_HII_IIBT_EXT1 0x30
501#define EFI_HII_IIBT_EXT2 0x31
502#define EFI_HII_IIBT_EXT4 0x32
503
504//
505// Definition of different image information block types
506//
507
511
517
523
529
535
541
547
553
559
564
569
575
581
587
593
599
605
610
616
622
627
632
633//
634// Definitions for Palette Information
635//
636
640
645
646//
647// Definitions for Forms Package
648// Section 27.3.8
649//
650
651///
652/// The Form package is used to carry form-based encoding data.
653///
656 // EFI_IFR_OP_HEADER OpCodeHeader;
657 // More op-codes follow
659
665
671
678
679typedef union {
687 EFI_STRING_ID string; ///< EFI_IFR_TYPE_STRING, EFI_IFR_TYPE_ACTION
688 EFI_HII_REF ref; ///< EFI_IFR_TYPE_REF
689 // UINT8 buffer[]; ///< EFI_IFR_TYPE_BUFFER
691
692//
693// IFR Opcodes
694//
695#define EFI_IFR_FORM_OP 0x01
696#define EFI_IFR_SUBTITLE_OP 0x02
697#define EFI_IFR_TEXT_OP 0x03
698#define EFI_IFR_IMAGE_OP 0x04
699#define EFI_IFR_ONE_OF_OP 0x05
700#define EFI_IFR_CHECKBOX_OP 0x06
701#define EFI_IFR_NUMERIC_OP 0x07
702#define EFI_IFR_PASSWORD_OP 0x08
703#define EFI_IFR_ONE_OF_OPTION_OP 0x09
704#define EFI_IFR_SUPPRESS_IF_OP 0x0A
705#define EFI_IFR_LOCKED_OP 0x0B
706#define EFI_IFR_ACTION_OP 0x0C
707#define EFI_IFR_RESET_BUTTON_OP 0x0D
708#define EFI_IFR_FORM_SET_OP 0x0E
709#define EFI_IFR_REF_OP 0x0F
710#define EFI_IFR_NO_SUBMIT_IF_OP 0x10
711#define EFI_IFR_INCONSISTENT_IF_OP 0x11
712#define EFI_IFR_EQ_ID_VAL_OP 0x12
713#define EFI_IFR_EQ_ID_ID_OP 0x13
714#define EFI_IFR_EQ_ID_VAL_LIST_OP 0x14
715#define EFI_IFR_AND_OP 0x15
716#define EFI_IFR_OR_OP 0x16
717#define EFI_IFR_NOT_OP 0x17
718#define EFI_IFR_RULE_OP 0x18
719#define EFI_IFR_GRAY_OUT_IF_OP 0x19
720#define EFI_IFR_DATE_OP 0x1A
721#define EFI_IFR_TIME_OP 0x1B
722#define EFI_IFR_STRING_OP 0x1C
723#define EFI_IFR_REFRESH_OP 0x1D
724#define EFI_IFR_DISABLE_IF_OP 0x1E
725#define EFI_IFR_ANIMATION_OP 0x1F
726#define EFI_IFR_TO_LOWER_OP 0x20
727#define EFI_IFR_TO_UPPER_OP 0x21
728#define EFI_IFR_MAP_OP 0x22
729#define EFI_IFR_ORDERED_LIST_OP 0x23
730#define EFI_IFR_VARSTORE_OP 0x24
731#define EFI_IFR_VARSTORE_NAME_VALUE_OP 0x25
732#define EFI_IFR_VARSTORE_EFI_OP 0x26
733#define EFI_IFR_VARSTORE_DEVICE_OP 0x27
734#define EFI_IFR_VERSION_OP 0x28
735#define EFI_IFR_END_OP 0x29
736#define EFI_IFR_MATCH_OP 0x2A
737#define EFI_IFR_GET_OP 0x2B
738#define EFI_IFR_SET_OP 0x2C
739#define EFI_IFR_READ_OP 0x2D
740#define EFI_IFR_WRITE_OP 0x2E
741#define EFI_IFR_EQUAL_OP 0x2F
742#define EFI_IFR_NOT_EQUAL_OP 0x30
743#define EFI_IFR_GREATER_THAN_OP 0x31
744#define EFI_IFR_GREATER_EQUAL_OP 0x32
745#define EFI_IFR_LESS_THAN_OP 0x33
746#define EFI_IFR_LESS_EQUAL_OP 0x34
747#define EFI_IFR_BITWISE_AND_OP 0x35
748#define EFI_IFR_BITWISE_OR_OP 0x36
749#define EFI_IFR_BITWISE_NOT_OP 0x37
750#define EFI_IFR_SHIFT_LEFT_OP 0x38
751#define EFI_IFR_SHIFT_RIGHT_OP 0x39
752#define EFI_IFR_ADD_OP 0x3A
753#define EFI_IFR_SUBTRACT_OP 0x3B
754#define EFI_IFR_MULTIPLY_OP 0x3C
755#define EFI_IFR_DIVIDE_OP 0x3D
756#define EFI_IFR_MODULO_OP 0x3E
757#define EFI_IFR_RULE_REF_OP 0x3F
758#define EFI_IFR_QUESTION_REF1_OP 0x40
759#define EFI_IFR_QUESTION_REF2_OP 0x41
760#define EFI_IFR_UINT8_OP 0x42
761#define EFI_IFR_UINT16_OP 0x43
762#define EFI_IFR_UINT32_OP 0x44
763#define EFI_IFR_UINT64_OP 0x45
764#define EFI_IFR_TRUE_OP 0x46
765#define EFI_IFR_FALSE_OP 0x47
766#define EFI_IFR_TO_UINT_OP 0x48
767#define EFI_IFR_TO_STRING_OP 0x49
768#define EFI_IFR_TO_BOOLEAN_OP 0x4A
769#define EFI_IFR_MID_OP 0x4B
770#define EFI_IFR_FIND_OP 0x4C
771#define EFI_IFR_TOKEN_OP 0x4D
772#define EFI_IFR_STRING_REF1_OP 0x4E
773#define EFI_IFR_STRING_REF2_OP 0x4F
774#define EFI_IFR_CONDITIONAL_OP 0x50
775#define EFI_IFR_QUESTION_REF3_OP 0x51
776#define EFI_IFR_ZERO_OP 0x52
777#define EFI_IFR_ONE_OP 0x53
778#define EFI_IFR_ONES_OP 0x54
779#define EFI_IFR_UNDEFINED_OP 0x55
780#define EFI_IFR_LENGTH_OP 0x56
781#define EFI_IFR_DUP_OP 0x57
782#define EFI_IFR_THIS_OP 0x58
783#define EFI_IFR_SPAN_OP 0x59
784#define EFI_IFR_VALUE_OP 0x5A
785#define EFI_IFR_DEFAULT_OP 0x5B
786#define EFI_IFR_DEFAULTSTORE_OP 0x5C
787#define EFI_IFR_FORM_MAP_OP 0x5D
788#define EFI_IFR_CATENATE_OP 0x5E
789#define EFI_IFR_GUID_OP 0x5F
790#define EFI_IFR_SECURITY_OP 0x60
791#define EFI_IFR_MODAL_TAG_OP 0x61
792#define EFI_IFR_REFRESH_ID_OP 0x62
793#define EFI_IFR_WARNING_IF_OP 0x63
794#define EFI_IFR_MATCH2_OP 0x64
795
796//
797// Definitions of IFR Standard Headers
798// Section 27.3.8.2
799//
800
806
811
822
823//
824// Flag values of EFI_IFR_QUESTION_HEADER
825//
826#define EFI_IFR_FLAG_READ_ONLY 0x01
827#define EFI_IFR_FLAG_CALLBACK 0x04
828#define EFI_IFR_FLAG_RESET_REQUIRED 0x10
829#define EFI_IFR_FLAG_REST_STYLE 0x20
830#define EFI_IFR_FLAG_RECONNECT_REQUIRED 0x40
831#define EFI_IFR_FLAG_OPTIONS_ONLY 0x80
832
833//
834// Definition for Opcode Reference
835// Section 27.3.8.3
836//
842
843//
844// Default Identifier of default store
845//
846#define EFI_HII_DEFAULT_CLASS_STANDARD 0x0000
847#define EFI_HII_DEFAULT_CLASS_MANUFACTURING 0x0001
848#define EFI_HII_DEFAULT_CLASS_SAFE 0x0002
849#define EFI_HII_DEFAULT_CLASS_PLATFORM_BEGIN 0x4000
850#define EFI_HII_DEFAULT_CLASS_PLATFORM_END 0x7fff
851#define EFI_HII_DEFAULT_CLASS_HARDWARE_BEGIN 0x8000
852#define EFI_HII_DEFAULT_CLASS_HARDWARE_END 0xbfff
853#define EFI_HII_DEFAULT_CLASS_FIRMWARE_BEGIN 0xc000
854#define EFI_HII_DEFAULT_CLASS_FIRMWARE_END 0xffff
855
863
872
878
887
891
897
902
906
910
915
922
928
932
938
939#define EFI_IFR_FLAGS_HORIZONTAL 0x01
940
946
947#define EFI_IFR_CHECKBOX_DEFAULT 0x01
948#define EFI_IFR_CHECKBOX_DEFAULT_MFG 0x02
949
955
961
968
976
985
990
996
1002
1007
1013
1014//
1015// Flags that describe the behavior of the question.
1016//
1017#define EFI_QF_DATE_YEAR_SUPPRESS 0x01
1018#define EFI_QF_DATE_MONTH_SUPPRESS 0x02
1019#define EFI_QF_DATE_DAY_SUPPRESS 0x04
1020
1021#define EFI_QF_DATE_STORAGE 0x30
1022#define QF_DATE_STORAGE_NORMAL 0x00
1023#define QF_DATE_STORAGE_TIME 0x10
1024#define QF_DATE_STORAGE_WAKEUP 0x20
1025
1048
1055
1056//
1057// Flags related to the numeric question
1058//
1059#define EFI_IFR_NUMERIC_SIZE 0x03
1060#define EFI_IFR_NUMERIC_SIZE_1 0x00
1061#define EFI_IFR_NUMERIC_SIZE_2 0x01
1062#define EFI_IFR_NUMERIC_SIZE_4 0x02
1063#define EFI_IFR_NUMERIC_SIZE_8 0x03
1064
1065#define EFI_IFR_DISPLAY 0x30
1066#define EFI_IFR_DISPLAY_INT_DEC 0x00
1067#define EFI_IFR_DISPLAY_UINT_DEC 0x10
1068#define EFI_IFR_DISPLAY_UINT_HEX 0x20
1069
1076
1084
1085#define EFI_IFR_STRING_MULTI_LINE 0x01
1086
1093
1100
1101#define EFI_IFR_UNIQUE_SET 0x01
1102#define EFI_IFR_NO_EMPTY_SET 0x02
1103
1109
1110//
1111// A bit-mask that determines which unique settings are active for this opcode.
1112//
1113#define QF_TIME_HOUR_SUPPRESS 0x01
1114#define QF_TIME_MINUTE_SUPPRESS 0x02
1115#define QF_TIME_SECOND_SUPPRESS 0x04
1116
1117#define QF_TIME_STORAGE 0x30
1118#define QF_TIME_STORAGE_NORMAL 0x00
1119#define QF_TIME_STORAGE_TIME 0x10
1120#define QF_TIME_STORAGE_WAKEUP 0x20
1121
1125
1129
1133
1138
1143
1149
1154
1159
1167
1168//
1169// Types of the option's value.
1170//
1171#define EFI_IFR_TYPE_NUM_SIZE_8 0x00
1172#define EFI_IFR_TYPE_NUM_SIZE_16 0x01
1173#define EFI_IFR_TYPE_NUM_SIZE_32 0x02
1174#define EFI_IFR_TYPE_NUM_SIZE_64 0x03
1175#define EFI_IFR_TYPE_BOOLEAN 0x04
1176#define EFI_IFR_TYPE_TIME 0x05
1177#define EFI_IFR_TYPE_DATE 0x06
1178#define EFI_IFR_TYPE_STRING 0x07
1179#define EFI_IFR_TYPE_OTHER 0x08
1180#define EFI_IFR_TYPE_UNDEFINED 0x09
1181#define EFI_IFR_TYPE_ACTION 0x0A
1182#define EFI_IFR_TYPE_BUFFER 0x0B
1183#define EFI_IFR_TYPE_REF 0x0C
1184
1185#define EFI_IFR_OPTION_DEFAULT 0x10
1186#define EFI_IFR_OPTION_DEFAULT_MFG 0x20
1187
1188typedef struct _EFI_IFR_GUID {
1191 // Optional Data Follows
1193
1198
1202
1208
1214
1221
1226
1231
1236
1241
1246
1250
1254
1259
1265
1270
1275
1279
1283
1287
1291
1295
1299
1303
1307
1311
1315
1319
1323
1327
1328///
1329/// For EFI_IFR_TO_STRING, when converting from
1330/// unsigned integers, these flags control the format:
1331/// 0 = unsigned decimal.
1332/// 1 = signed decimal.
1333/// 2 = hexadecimal (lower-case alpha).
1334/// 3 = hexadecimal (upper-case alpha).
1335///@{
1336#define EFI_IFR_STRING_UNSIGNED_DEC 0
1337#define EFI_IFR_STRING_SIGNED_DEC 1
1338#define EFI_IFR_STRING_LOWERCASE_HEX 2
1339#define EFI_IFR_STRING_UPPERCASE_HEX 3
1340///@}
1341
1342///
1343/// When converting from a buffer, these flags control the format:
1344/// 0 = ASCII.
1345/// 8 = Unicode.
1346///@{
1347#define EFI_IFR_STRING_ASCII 0
1348#define EFI_IFR_STRING_UNICODE 8
1349///@}
1350
1355
1359
1363
1367
1371
1375
1379
1383
1387
1391
1395
1399
1403
1407
1411
1415
1420
1424
1428
1432
1436
1440
1444
1448
1452
1453//
1454// Flags governing the matching criteria of EFI_IFR_FIND
1455//
1456#define EFI_IFR_FF_CASE_SENSITIVE 0x00
1457#define EFI_IFR_FF_CASE_INSENSITIVE 0x01
1458
1463
1467
1471
1472//
1473// Flags specifying whether to find the first matching string
1474// or the first non-matching string.
1475//
1476#define EFI_IFR_FLAGS_FIRST_MATCHING 0x00
1477#define EFI_IFR_FLAGS_FIRST_NON_MATCHING 0x01
1478
1483
1484typedef struct _EFI_IFR_SECURITY {
1485 ///
1486 /// Standard opcode header, where Header.Op = EFI_IFR_SECURITY_OP.
1487 ///
1489 ///
1490 /// Security permission level.
1491 ///
1494
1496 ///
1497 /// The string identifier which provides the human-readable name of
1498 /// the configuration method for this standards map form.
1499 ///
1501 ///
1502 /// Identifier which uniquely specifies the configuration methods
1503 /// associated with this standards map form.
1504 ///
1507
1508typedef struct _EFI_IFR_FORM_MAP {
1509 ///
1510 /// The sequence that defines the type of opcode as well as the length
1511 /// of the opcode being defined. Header.OpCode = EFI_IFR_FORM_MAP_OP.
1512 ///
1514 ///
1515 /// The unique identifier for this particular form.
1516 ///
1518 ///
1519 /// One or more configuration method's name and unique identifier.
1520 ///
1521 // EFI_IFR_FORM_MAP_METHOD Methods[];
1523
1524typedef struct _EFI_IFR_SET {
1525 ///
1526 /// The sequence that defines the type of opcode as well as the length
1527 /// of the opcode being defined. Header.OpCode = EFI_IFR_SET_OP.
1528 ///
1530 ///
1531 /// Specifies the identifier of a previously declared variable store to
1532 /// use when storing the question's value.
1533 ///
1535 union {
1536 ///
1537 /// A 16-bit Buffer Storage offset.
1538 ///
1540 ///
1541 /// A Name Value or EFI Variable name (VarName).
1542 ///
1545 ///
1546 /// Specifies the type used for storage.
1547 ///
1550
1551typedef struct _EFI_IFR_GET {
1552 ///
1553 /// The sequence that defines the type of opcode as well as the length
1554 /// of the opcode being defined. Header.OpCode = EFI_IFR_GET_OP.
1555 ///
1557 ///
1558 /// Specifies the identifier of a previously declared variable store to
1559 /// use when retrieving the value.
1560 ///
1562 union {
1563 ///
1564 /// A 16-bit Buffer Storage offset.
1565 ///
1567 ///
1568 /// A Name Value or EFI Variable name (VarName).
1569 ///
1572 ///
1573 /// Specifies the type used for storage.
1574 ///
1577
1581
1585
1589//
1590// Definitions for Keyboard Package
1591// Releated definitions are in Section of EFI_HII_DATABASE_PROTOCOL
1592//
1593
1594///
1595/// Each enumeration values maps a physical key on a keyboard.
1596///
1597typedef enum {
1713} EFI_KEY;
1714
1715typedef struct {
1716 ///
1717 /// Used to describe a physical key on a keyboard.
1718 ///
1720 ///
1721 /// Unicode character code for the Key.
1722 ///
1724 ///
1725 /// Unicode character code for the key with the shift key being held down.
1726 ///
1728 ///
1729 /// Unicode character code for the key with the Alt-GR being held down.
1730 ///
1732 ///
1733 /// Unicode character code for the key with the Alt-GR and shift keys being held down.
1734 ///
1736 ///
1737 /// Modifier keys are defined to allow for special functionality that is not necessarily
1738 /// accomplished by a printable character. Many of these modifier keys are flags to toggle
1739 /// certain state bits on and off inside of a keyboard driver.
1740 ///
1744
1745///
1746/// A key which is affected by all the standard shift modifiers.
1747/// Most keys would be expected to have this bit active.
1748///
1749#define EFI_AFFECTED_BY_STANDARD_SHIFT 0x0001
1750
1751///
1752/// This key is affected by the caps lock so that if a keyboard driver
1753/// would need to disambiguate between a key which had a "1" defined
1754/// versus an "a" character. Having this bit turned on would tell
1755/// the keyboard driver to use the appropriate shifted state or not.
1756///
1757#define EFI_AFFECTED_BY_CAPS_LOCK 0x0002
1758
1759///
1760/// Similar to the case of CAPS lock, if this bit is active, the key
1761/// is affected by the num lock being turned on.
1762///
1763#define EFI_AFFECTED_BY_NUM_LOCK 0x0004
1764
1772
1773typedef struct {
1776 // EFI_HII_KEYBOARD_LAYOUT Layout[];
1778
1779//
1780// Modifier values
1781//
1782#define EFI_NULL_MODIFIER 0x0000
1783#define EFI_LEFT_CONTROL_MODIFIER 0x0001
1784#define EFI_RIGHT_CONTROL_MODIFIER 0x0002
1785#define EFI_LEFT_ALT_MODIFIER 0x0003
1786#define EFI_RIGHT_ALT_MODIFIER 0x0004
1787#define EFI_ALT_GR_MODIFIER 0x0005
1788#define EFI_INSERT_MODIFIER 0x0006
1789#define EFI_DELETE_MODIFIER 0x0007
1790#define EFI_PAGE_DOWN_MODIFIER 0x0008
1791#define EFI_PAGE_UP_MODIFIER 0x0009
1792#define EFI_HOME_MODIFIER 0x000A
1793#define EFI_END_MODIFIER 0x000B
1794#define EFI_LEFT_SHIFT_MODIFIER 0x000C
1795#define EFI_RIGHT_SHIFT_MODIFIER 0x000D
1796#define EFI_CAPS_LOCK_MODIFIER 0x000E
1797#define EFI_NUM_LOCK_MODIFIER 0x000F
1798#define EFI_LEFT_ARROW_MODIFIER 0x0010
1799#define EFI_RIGHT_ARROW_MODIFIER 0x0011
1800#define EFI_DOWN_ARROW_MODIFIER 0x0012
1801#define EFI_UP_ARROW_MODIFIER 0x0013
1802#define EFI_NS_KEY_MODIFIER 0x0014
1803#define EFI_NS_KEY_DEPENDENCY_MODIFIER 0x0015
1804#define EFI_FUNCTION_KEY_ONE_MODIFIER 0x0016
1805#define EFI_FUNCTION_KEY_TWO_MODIFIER 0x0017
1806#define EFI_FUNCTION_KEY_THREE_MODIFIER 0x0018
1807#define EFI_FUNCTION_KEY_FOUR_MODIFIER 0x0019
1808#define EFI_FUNCTION_KEY_FIVE_MODIFIER 0x001A
1809#define EFI_FUNCTION_KEY_SIX_MODIFIER 0x001B
1810#define EFI_FUNCTION_KEY_SEVEN_MODIFIER 0x001C
1811#define EFI_FUNCTION_KEY_EIGHT_MODIFIER 0x001D
1812#define EFI_FUNCTION_KEY_NINE_MODIFIER 0x001E
1813#define EFI_FUNCTION_KEY_TEN_MODIFIER 0x001F
1814#define EFI_FUNCTION_KEY_ELEVEN_MODIFIER 0x0020
1815#define EFI_FUNCTION_KEY_TWELVE_MODIFIER 0x0021
1816
1817//
1818// Keys that have multiple control functions based on modifier
1819// settings are handled in the keyboard driver implementation.
1820// For instance, PRINT_KEY might have a modifier held down and
1821// is still a nonprinting character, but might have an alternate
1822// control function like SYSREQUEST
1823//
1824#define EFI_PRINT_MODIFIER 0x0022
1825#define EFI_SYS_REQUEST_MODIFIER 0x0023
1826#define EFI_SCROLL_LOCK_MODIFIER 0x0024
1827#define EFI_PAUSE_MODIFIER 0x0025
1828#define EFI_BREAK_MODIFIER 0x0026
1829
1830#define EFI_LEFT_LOGO_MODIFIER 0x0027
1831#define EFI_RIGHT_LOGO_MODIFIER 0x0028
1832#define EFI_MENU_MODIFIER 0x0029
1833
1834///
1835/// Animation IFR opcode
1836///
1837typedef struct _EFI_IFR_ANIMATION {
1838 ///
1839 /// Standard opcode header, where Header.OpCode is
1840 /// EFI_IFR_ANIMATION_OP.
1841 ///
1843 ///
1844 /// Animation identifier in the HII database.
1845 ///
1848
1849///
1850/// HII animation package header.
1851///
1853 ///
1854 /// Standard package header, where Header.Type = EFI_HII_PACKAGE_ANIMATIONS.
1855 ///
1857 ///
1858 /// Offset, relative to this header, of the animation information. If
1859 /// this is zero, then there are no animation sequences in the package.
1860 ///
1863
1864///
1865/// Animation information is encoded as a series of blocks,
1866/// with each block prefixed by a single byte header EFI_HII_ANIMATION_BLOCK.
1867///
1870 // UINT8 BlockBody[];
1872
1873///
1874/// Animation block types.
1875///
1876#define EFI_HII_AIBT_END 0x00
1877#define EFI_HII_AIBT_OVERLAY_IMAGES 0x10
1878#define EFI_HII_AIBT_CLEAR_IMAGES 0x11
1879#define EFI_HII_AIBT_RESTORE_SCRN 0x12
1880#define EFI_HII_AIBT_OVERLAY_IMAGES_LOOP 0x18
1881#define EFI_HII_AIBT_CLEAR_IMAGES_LOOP 0x19
1882#define EFI_HII_AIBT_RESTORE_SCRN_LOOP 0x1A
1883#define EFI_HII_AIBT_DUPLICATE 0x20
1884#define EFI_HII_AIBT_SKIP2 0x21
1885#define EFI_HII_AIBT_SKIP1 0x22
1886#define EFI_HII_AIBT_EXT1 0x30
1887#define EFI_HII_AIBT_EXT2 0x31
1888#define EFI_HII_AIBT_EXT4 0x32
1889
1890///
1891/// Extended block headers used for variable sized animation records
1892/// which need an explicit length.
1893///
1894
1896 ///
1897 /// Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT1.
1898 ///
1900 ///
1901 /// The block type.
1902 ///
1904 ///
1905 /// Size of the animation block, in bytes, including the animation block header.
1906 ///
1909
1911 ///
1912 /// Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT2.
1913 ///
1915 ///
1916 /// The block type
1917 ///
1919 ///
1920 /// Size of the animation block, in bytes, including the animation block header.
1921 ///
1924
1926 ///
1927 /// Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT4.
1928 ///
1930 ///
1931 /// The block type
1932 ///
1934 ///
1935 /// Size of the animation block, in bytes, including the animation block header.
1936 ///
1939
1941 ///
1942 /// The X offset from the upper left hand corner of the logical
1943 /// window to position the indexed image.
1944 ///
1946 ///
1947 /// The Y offset from the upper left hand corner of the logical
1948 /// window to position the indexed image.
1949 ///
1951 ///
1952 /// The image to display at the specified offset from the upper left
1953 /// hand corner of the logical window.
1954 ///
1956 ///
1957 /// The number of milliseconds to delay after displaying the indexed
1958 /// image and before continuing on to the next linked image. If value
1959 /// is zero, no delay.
1960 ///
1963
1964///
1965/// An animation block to describe an animation sequence that does not cycle, and
1966/// where one image is simply displayed over the previous image.
1967///
1969 ///
1970 /// This is image that is to be reference by the image protocols, if the
1971 /// animation function is not supported or disabled. This image can
1972 /// be one particular image from the animation sequence (if any one
1973 /// of the animation frames has a complete image) or an alternate
1974 /// image that can be displayed alone. If the value is zero, no image
1975 /// is displayed.
1976 ///
1978 ///
1979 /// The overall width of the set of images (logical window width).
1980 ///
1982 ///
1983 /// The overall height of the set of images (logical window height).
1984 ///
1986 ///
1987 /// The number of EFI_HII_ANIMATION_CELL contained in the
1988 /// animation sequence.
1989 ///
1991 ///
1992 /// An array of CellCount animation cells.
1993 ///
1996
1997///
1998/// An animation block to describe an animation sequence that does not cycle,
1999/// and where the logical window is cleared to the specified color before
2000/// the next image is displayed.
2001///
2003 ///
2004 /// This is image that is to be reference by the image protocols, if the
2005 /// animation function is not supported or disabled. This image can
2006 /// be one particular image from the animation sequence (if any one
2007 /// of the animation frames has a complete image) or an alternate
2008 /// image that can be displayed alone. If the value is zero, no image
2009 /// is displayed.
2010 ///
2012 ///
2013 /// The overall width of the set of images (logical window width).
2014 ///
2016 ///
2017 /// The overall height of the set of images (logical window height).
2018 ///
2020 ///
2021 /// The number of EFI_HII_ANIMATION_CELL contained in the
2022 /// animation sequence.
2023 ///
2025 ///
2026 /// The color to clear the logical window to before displaying the
2027 /// indexed image.
2028 ///
2030 ///
2031 /// An array of CellCount animation cells.
2032 ///
2035
2036///
2037/// An animation block to describe an animation sequence that does not cycle,
2038/// and where the screen is restored to the original state before the next
2039/// image is displayed.
2040///
2042 ///
2043 /// This is image that is to be reference by the image protocols, if the
2044 /// animation function is not supported or disabled. This image can
2045 /// be one particular image from the animation sequence (if any one
2046 /// of the animation frames has a complete image) or an alternate
2047 /// image that can be displayed alone. If the value is zero, no image
2048 /// is displayed.
2049 ///
2051 ///
2052 /// The overall width of the set of images (logical window width).
2053 ///
2055 ///
2056 /// The overall height of the set of images (logical window height).
2057 ///
2059 ///
2060 /// The number of EFI_HII_ANIMATION_CELL contained in the
2061 /// animation sequence.
2062 ///
2064 ///
2065 /// An array of CellCount animation cells.
2066 ///
2069
2070///
2071/// An animation block to describe an animation sequence that continuously cycles,
2072/// and where one image is simply displayed over the previous image.
2073///
2075
2076///
2077/// An animation block to describe an animation sequence that continuously cycles,
2078/// and where the logical window is cleared to the specified color before
2079/// the next image is displayed.
2080///
2082
2083///
2084/// An animation block to describe an animation sequence that continuously cycles,
2085/// and where the screen is restored to the original state before
2086/// the next image is displayed.
2087///
2089
2090///
2091/// Assigns a new character value to a previously defined animation sequence.
2092///
2094 ///
2095 /// The previously defined animation ID with the exact same
2096 /// animation information.
2097 ///
2100
2101///
2102/// Skips animation IDs.
2103///
2105 ///
2106 /// The unsigned 8-bit value to add to AnimationIdCurrent.
2107 ///
2110
2111///
2112/// Skips animation IDs.
2113///
2115 ///
2116 /// The unsigned 16-bit value to add to AnimationIdCurrent.
2117 ///
2120
2121#pragma pack()
2122
2123///
2124/// References to string tokens must use this macro to enable scanning for
2125/// token usages.
2126///
2127///
2128/// STRING_TOKEN is not defined in UEFI specification. But it is placed
2129/// here for the easy access by C files and VFR source files.
2130///
2131#define STRING_TOKEN(t) t
2132
2133///
2134/// IMAGE_TOKEN is not defined in UEFI specification. But it is placed
2135/// here for the easy access by C files and VFR source files.
2136///
2137#define IMAGE_TOKEN(t) t
2138
2139#endif
unsigned short UINT16
2-byte unsigned value.
unsigned char BOOLEAN
Logical Boolean.
char CHAR8
1-byte Character
unsigned long long UINT64
8-byte unsigned value.
short INT16
2-byte signed value.
unsigned short CHAR16
2-byte Character.
unsigned char UINT8
1-byte unsigned value.
unsigned int UINT32
4-byte unsigned value.
#define VOID
Undeclared type.
Definition Base.h:272
Guid used to identify HII FormMap configuration method.
GUID EFI_GUID
128-bit buffer containing a unique identifier value.
struct _EFI_HII_IMAGE_BLOCK EFI_HII_IMAGE_BLOCK
struct _EFI_HII_IIBT_IMAGE_4BIT_BLOCK EFI_HII_IIBT_IMAGE_4BIT_BLOCK
struct _EFI_IFR_LESS_EQUAL EFI_IFR_LESS_EQUAL
struct _EFI_IFR_ANIMATION EFI_IFR_ANIMATION
Animation IFR opcode.
struct _EFI_IFR_REFRESH EFI_IFR_REFRESH
struct _EFI_IFR_ACTION_1 EFI_IFR_ACTION_1
struct _EFI_HII_SIBT_EXT1_BLOCK EFI_HII_SIBT_EXT1_BLOCK
struct _EFI_HII_GIBT_GLYPH_BLOCK EFI_HII_GIBT_GLYPH_BLOCK
struct _EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK
struct _EFI_IFR_END EFI_IFR_END
struct _EFI_IFR_ADD EFI_IFR_ADD
struct _EFI_IFR_ONE EFI_IFR_ONE
struct _EFI_HII_IIBT_END_BLOCK EFI_HII_IIBT_END_BLOCK
struct _EFI_IFR_VARSTORE_EFI EFI_IFR_VARSTORE_EFI
struct _EFI_HII_IMAGE_PALETTE_INFO EFI_HII_IMAGE_PALETTE_INFO
struct _EFI_IFR_STRING_REF2 EFI_IFR_STRING_REF2
struct _EFI_IFR_GRAY_OUT_IF EFI_IFR_GRAY_OUT_IF
struct _EFI_IFR_ZERO EFI_IFR_ZERO
struct _EFI_IFR_RULE EFI_IFR_RULE
struct _EFI_IFR_GREATER_THAN EFI_IFR_GREATER_THAN
struct _EFI_IFR_DATE EFI_IFR_DATE
struct _EFI_IFR_RESET_BUTTON EFI_IFR_RESET_BUTTON
struct _EFI_IFR_DEFAULT EFI_IFR_DEFAULT
struct _EFI_IFR_GET EFI_IFR_GET
struct _EFI_HII_AIBT_OVERLAY_IMAGES_BLOCK EFI_HII_AIBT_OVERLAY_IMAGES_BLOCK
An animation block to describe an animation sequence that does not cycle, and where one image is simp...
struct _EFI_HII_AIBT_CLEAR_IMAGES_BLOCK EFI_HII_AIBT_CLEAR_IMAGES_BLOCK
An animation block to describe an animation sequence that does not cycle, and where the logical windo...
struct _EFI_IFR_UINT32 EFI_IFR_UINT32
struct _EFI_HII_RGB_PIXEL EFI_HII_RGB_PIXEL
struct _EFI_IFR_MODAL_TAG EFI_IFR_MODAL_TAG
struct _EFI_IFR_EQ_ID_ID EFI_IFR_EQ_ID_ID
struct _EFI_IFR_MULTIPLY EFI_IFR_MULTIPLY
struct _EFI_IFR_READ EFI_IFR_READ
struct _EFI_HII_SIBT_STRINGS_SCSU_BLOCK EFI_HII_SIBT_STRINGS_SCSU_BLOCK
struct _EFI_IFR_MAP EFI_IFR_MAP
struct _EFI_IFR_FORM_MAP_METHOD EFI_IFR_FORM_MAP_METHOD
struct _EFI_IFR_MATCH2 EFI_IFR_MATCH2
struct _EFI_IFR_FALSE EFI_IFR_FALSE
struct _EFI_HII_SIBT_FONT_BLOCK EFI_HII_SIBT_FONT_BLOCK
struct _EFI_IFR_SPAN EFI_IFR_SPAN
struct _EFI_HII_SIBT_STRING_UCS2_BLOCK EFI_HII_SIBT_STRING_UCS2_BLOCK
struct _EFI_IFR_SET EFI_IFR_SET
struct _EFI_IFR_SHIFT_RIGHT EFI_IFR_SHIFT_RIGHT
struct _EFI_HII_GUID_PACKAGE_HDR EFI_HII_GUID_PACKAGE_HDR
The GUID package is used to carry data where the format is defined by a GUID.
struct _EFI_IFR_RULE_REF EFI_IFR_RULE_REF
struct _EFI_IFR_BITWISE_NOT EFI_IFR_BITWISE_NOT
struct _EFI_IFR_DUP EFI_IFR_DUP
CHAR16 * EFI_STRING
struct _EFI_IFR_PASSWORD EFI_IFR_PASSWORD
struct _EFI_HII_IIBT_IMAGE_8BIT_BASE EFI_HII_IIBT_IMAGE_8BIT_BASE
EFI_HII_AIBT_OVERLAY_IMAGES_BLOCK EFI_HII_AIBT_OVERLAY_IMAGES_LOOP_BLOCK
An animation block to describe an animation sequence that continuously cycles, and where one image is...
EFI_HII_AIBT_CLEAR_IMAGES_BLOCK EFI_HII_AIBT_CLEAR_IMAGES_LOOP_BLOCK
An animation block to describe an animation sequence that continuously cycles, and where the logical ...
struct _EFI_IFR_ONES EFI_IFR_ONES
struct _EFI_IFR_VARSTORE_NAME_VALUE EFI_IFR_VARSTORE_NAME_VALUE
struct _EFI_IFR_UINT16 EFI_IFR_UINT16
struct _EFI_HII_AIBT_EXT4_BLOCK EFI_HII_AIBT_EXT4_BLOCK
struct _EFI_HII_GIBT_GLYPHS_BLOCK EFI_HII_GIBT_GLYPHS_BLOCK
struct _EFI_HII_GIBT_SKIP2_BLOCK EFI_HII_GIBT_SKIP2_BLOCK
struct _EFI_HII_SIBT_SKIP1_BLOCK EFI_HII_SIBT_SKIP1_BLOCK
struct _EFI_HII_IIBT_IMAGE_24BIT_BLOCK EFI_HII_IIBT_IMAGE_24BIT_BLOCK
struct _EFI_IFR_CATENATE EFI_IFR_CATENATE
struct _EFI_IFR_QUESTION_REF3_3 EFI_IFR_QUESTION_REF3_3
struct _EFI_IFR_TO_LOWER EFI_IFR_TO_LOWER
struct _EFI_IFR_STRING_REF1 EFI_IFR_STRING_REF1
struct _EFI_IFR_TO_UINT EFI_IFR_TO_UINT
struct _EFI_IFR_QUESTION_REF2 EFI_IFR_QUESTION_REF2
struct _EFI_HII_IIBT_IMAGE_1BIT_TRANS_BLOCK EFI_HII_IIBT_IMAGE_1BIT_TRANS_BLOCK
struct _EFI_IFR_LESS_THAN EFI_IFR_LESS_THAN
struct _EFI_HII_SIBT_STRINGS_SCSU_FONT_BLOCK EFI_HII_SIBT_STRINGS_SCSU_FONT_BLOCK
struct _EFI_IFR_GUID EFI_IFR_GUID
struct _EFI_IFR_DIVIDE EFI_IFR_DIVIDE
struct _EFI_IFR_TIME EFI_IFR_TIME
struct _EFI_HII_AIBT_RESTORE_SCRN_BLOCK EFI_HII_AIBT_RESTORE_SCRN_BLOCK
An animation block to describe an animation sequence that does not cycle, and where the screen is res...
struct _EFI_IFR_FORM_SET EFI_IFR_FORM_SET
struct _EFI_HII_IIBT_EXT4_BLOCK EFI_HII_IIBT_EXT4_BLOCK
struct _EFI_IFR_FORM_MAP EFI_IFR_FORM_MAP
struct _EFI_IFR_REF5 EFI_IFR_REF5
struct _EFI_IFR_IMAGE EFI_IFR_IMAGE
struct _EFI_IFR_WARNING_IF EFI_IFR_WARNING_IF
struct _EFI_IFR_FORM EFI_IFR_FORM
struct _EFI_HII_IIBT_IMAGE_8BIT_PALETTE_BLOCK EFI_HII_IIBT_IMAGE_8BIT_BLOCK
struct _EFI_HII_IIBT_IMAGE_4BIT_BASE EFI_HII_IIBT_IMAGE_4BIT_BASE
struct _EFI_GLYPH_GIBT_END_BLOCK EFI_GLYPH_GIBT_END_BLOCK
struct _EFI_IFR_REF2 EFI_IFR_REF2
struct _EFI_HII_SIBT_DUPLICATE_BLOCK EFI_HII_SIBT_DUPLICATE_BLOCK
struct _EFI_IFR_SUBTITLE EFI_IFR_SUBTITLE
struct _EFI_HII_GIBT_EXT4_BLOCK EFI_HII_GIBT_EXT4_BLOCK
struct _EFI_IFR_MATCH EFI_IFR_MATCH
struct _EFI_IFR_OP_HEADER EFI_IFR_OP_HEADER
struct _EFI_HII_SIBT_STRING_UCS2_FONT_BLOCK EFI_HII_SIBT_STRING_UCS2_FONT_BLOCK
EFI_HII_AIBT_RESTORE_SCRN_BLOCK EFI_HII_AIBT_RESTORE_SCRN_LOOP_BLOCK
An animation block to describe an animation sequence that continuously cycles, and where the screen i...
struct _EFI_HII_SIBT_STRINGS_UCS2_FONT_BLOCK EFI_HII_SIBT_STRINGS_UCS2_FONT_BLOCK
struct _EFI_HII_AIBT_EXT2_BLOCK EFI_HII_AIBT_EXT2_BLOCK
struct _EFI_IFR_ONE_OF_OPTION EFI_IFR_ONE_OF_OPTION
struct _EFI_IFR_MID EFI_IFR_MID
struct _EFI_IFR_ONE_OF EFI_IFR_ONE_OF
struct _EFI_HII_IIBT_DUPLICATE_BLOCK EFI_HII_IIBT_DUPLICATE_BLOCK
struct _EFI_HII_IIBT_IMAGE_1BIT_BLOCK EFI_HII_IIBT_IMAGE_1BIT_BLOCK
struct _EFI_HII_IIBT_SKIP2_BLOCK EFI_HII_IIBT_SKIP2_BLOCK
struct _EFI_HII_ANIMATION_PACKAGE_HDR EFI_HII_ANIMATION_PACKAGE_HDR
HII animation package header.
struct _EFI_HII_IMAGE_PACKAGE_HDR EFI_HII_IMAGE_PACKAGE_HDR
struct _EFI_IFR_QUESTION_REF1 EFI_IFR_QUESTION_REF1
struct _EFI_IFR_TOKEN EFI_IFR_TOKEN
struct _EFI_IFR_TO_BOOLEAN EFI_IFR_TO_BOOLEAN
struct _EFI_IFR_UINT64 EFI_IFR_UINT64
struct _EFI_IFR_TO_STRING EFI_IFR_TO_STRING
struct _EFI_IFR_VERSION EFI_IFR_VERSION
struct _EFI_IFR_DEFAULTSTORE EFI_IFR_DEFAULTSTORE
struct _EFI_HII_ANIMATION_CELL EFI_HII_ANIMATION_CELL
struct _EFI_IFR_DEFAULT_2 EFI_IFR_DEFAULT_2
struct _EFI_IFR_INCONSISTENT_IF EFI_IFR_INCONSISTENT_IF
struct _EFI_IFR_UNDEFINED EFI_IFR_UNDEFINED
struct _EFI_IFR_MODULO EFI_IFR_MODULO
struct _EFI_HII_IIBT_IMAGE_4BIT_TRANS_BLOCK EFI_HII_IIBT_IMAGE_4BIT_TRANS_BLOCK
struct _EFI_IFR_REFRESH_ID EFI_IFR_REFRESH_ID
struct _EFI_IFR_ORDERED_LIST EFI_IFR_ORDERED_LIST
struct _EFI_IFR_NOT EFI_IFR_NOT
struct _EFI_HII_IIBT_SKIP1_BLOCK EFI_HII_IIBT_SKIP1_BLOCK
struct _EFI_IFR_GREATER_EQUAL EFI_IFR_GREATER_EQUAL
struct _EFI_HII_IIBT_PNG_BLOCK EFI_HII_IIBT_PNG_BLOCK
struct _EFI_IFR_EQ_ID_VAL EFI_IFR_EQ_ID_VAL
struct _EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK
struct _EFI_IFR_CONDITIONAL EFI_IFR_CONDITIONAL
struct _EFI_IFR_REF EFI_IFR_REF
struct _EFI_HII_SIBT_EXT4_BLOCK EFI_HII_SIBT_EXT4_BLOCK
struct _EFI_HII_DEVICE_PATH_PACKAGE_HDR EFI_HII_DEVICE_PATH_PACKAGE_HDR
The device path package is used to carry a device path associated with the package list.
struct _EFI_HII_SIBT_STRING_SCSU_BLOCK EFI_HII_SIBT_STRING_SCSU_BLOCK
struct _EFI_HII_AIBT_EXT1_BLOCK EFI_HII_AIBT_EXT1_BLOCK
Extended block headers used for variable sized animation records which need an explicit length.
EFI_KEY
Each enumeration values maps a physical key on a keyboard.
struct _EFI_IFR_EQ_ID_VAL_LIST EFI_IFR_EQ_ID_VAL_LIST
struct _EFI_IFR_NOT_EQUAL EFI_IFR_NOT_EQUAL
struct _EFI_HII_FONT_PACKAGE_HDR EFI_HII_FONT_PACKAGE_HDR
The fixed header consists of a standard record header, then the character values in this section,...
struct _EFI_IFR_DISABLE_IF EFI_IFR_DISABLE_IF
struct _EFI_HII_FORM_PACKAGE_HDR EFI_HII_FORM_PACKAGE_HDR
The Form package is used to carry form-based encoding data.
struct _EFI_HII_IIBT_IMAGE_24BIT_BASE EFI_HII_IIBT_IMAGE_24BIT_BASE
struct _EFI_HII_GLYPH_BLOCK EFI_HII_GLYPH_BLOCK
struct _EFI_IFR_CHECKBOX EFI_IFR_CHECKBOX
struct _EFI_IFR_REF4 EFI_IFR_REF4
struct _EFI_IFR_TEXT EFI_IFR_TEXT
struct _EFI_HII_AIBT_DUPLICATE_BLOCK EFI_HII_AIBT_DUPLICATE_BLOCK
Assigns a new character value to a previously defined animation sequence.
struct _EFI_IFR_QUESTION_HEADER EFI_IFR_QUESTION_HEADER
struct _EFI_IFR_VARSTORE_DEVICE EFI_IFR_VARSTORE_DEVICE
struct _EFI_IFR_TRUE EFI_IFR_TRUE
struct _EFI_IFR_LENGTH EFI_IFR_LENGTH
struct _EFI_HII_STRING_PACKAGE_HDR EFI_HII_STRING_PACKAGE_HDR
The fixed header consists of a standard record header and then the string identifiers contained in th...
struct _EFI_IFR_STATEMENT_HEADER EFI_IFR_STATEMENT_HEADER
struct _EFI_IFR_SUPPRESS_IF EFI_IFR_SUPPRESS_IF
struct _EFI_IFR_ACTION EFI_IFR_ACTION
struct _EFI_HII_IIBT_EXT2_BLOCK EFI_HII_IIBT_EXT2_BLOCK
struct _EFI_IFR_OR EFI_IFR_OR
struct _EFI_IFR_EQUAL EFI_IFR_EQUAL
struct _EFI_IFR_REF3 EFI_IFR_REF3
struct _EFI_IFR_VARSTORE EFI_IFR_VARSTORE
struct _EFI_HII_GIBT_VARIABILITY_BLOCK EFI_HII_GIBT_VARIABILITY_BLOCK
struct _EFI_IFR_QUESTION_REF3 EFI_IFR_QUESTION_REF3
struct _EFI_IFR_NO_SUBMIT_IF EFI_IFR_NO_SUBMIT_IF
struct _EFI_HII_IIBT_JPEG_BLOCK EFI_HII_IIBT_JPEG_BLOCK
struct _EFI_HII_IIBT_IMAGE_24BIT_TRANS_BLOCK EFI_HII_IIBT_IMAGE_24BIT_TRANS_BLOCK
struct _EFI_IFR_SHIFT_LEFT EFI_IFR_SHIFT_LEFT
struct _EFI_IFR_BITWISE_AND EFI_IFR_BITWISE_AND
struct _EFI_HII_IIBT_EXT1_BLOCK EFI_HII_IIBT_EXT1_BLOCK
struct _EFI_IFR_QUESTION_REF3_2 EFI_IFR_QUESTION_REF3_2
struct _EFI_IFR_TO_UPPER EFI_IFR_TO_UPPER
struct _EFI_HII_ANIMATION_BLOCK EFI_HII_ANIMATION_BLOCK
Animation information is encoded as a series of blocks, with each block prefixed by a single byte hea...
struct _EFI_IFR_FIND EFI_IFR_FIND
UINT16 EFI_ANIMATION_ID
struct _EFI_IFR_STRING EFI_IFR_STRING
struct _EFI_HII_GIBT_EXT2_BLOCK EFI_HII_GIBT_EXT2_BLOCK
struct _EFI_IFR_SECURITY EFI_IFR_SECURITY
struct _EFI_IFR_VALUE EFI_IFR_VALUE
UINT32 EFI_HII_FONT_STYLE
struct _EFI_IFR_THIS EFI_IFR_THIS
struct _EFI_HII_AIBT_SKIP1_BLOCK EFI_HII_AIBT_SKIP1_BLOCK
Skips animation IDs.
struct _EFI_HII_IMAGE_PALETTE_INFO_HEADER EFI_HII_IMAGE_PALETTE_INFO_HEADER
struct _EFI_IFR_WRITE EFI_IFR_WRITE
struct _EFI_HII_AIBT_SKIP2_BLOCK EFI_HII_AIBT_SKIP2_BLOCK
Skips animation IDs.
struct _EFI_IFR_AND EFI_IFR_AND
struct _EFI_HII_IIBT_IMAGE_1BIT_BASE EFI_HII_IIBT_IMAGE_1BIT_BASE
struct _EFI_HII_SIBT_END_BLOCK EFI_HII_SIBT_END_BLOCK
struct _EFI_HII_GIBT_DUPLICATE_BLOCK EFI_HII_GIBT_DUPLICATE_BLOCK
struct _EFI_HII_SIBT_STRING_SCSU_FONT_BLOCK EFI_HII_SIBT_STRING_SCSU_FONT_BLOCK
struct _EFI_HII_GLYPH_INFO EFI_HII_GLYPH_INFO
struct _EFI_IFR_NUMERIC EFI_IFR_NUMERIC
struct _EFI_HII_GIBT_SKIP1_BLOCK EFI_HII_GIBT_SKIP1_BLOCK
VOID * EFI_HII_HANDLE
The following types are currently defined:
#define EFI_GLYPH_HEIGHT
Contents of EFI_NARROW_GLYPH.Attributes.
struct _EFI_HII_GIBT_EXT1_BLOCK EFI_HII_GIBT_EXT1_BLOCK
struct _EFI_HII_GIBT_DEFAULTS_BLOCK EFI_HII_GIBT_DEFAULTS_BLOCK
struct _EFI_HII_SIBT_STRINGS_UCS2_BLOCK EFI_HII_SIBT_STRINGS_UCS2_BLOCK
struct _EFI_HII_IIBT_IMAGE_8BIT_TRANS_BLOCK EFI_HII_IIBT_IMAGE_8BIT_TRAN_BLOCK
struct _EFI_HII_SIBT_EXT2_BLOCK EFI_HII_SIBT_EXT2_BLOCK
struct _EFI_HII_SIBT_SKIP2_BLOCK EFI_HII_SIBT_SKIP2_BLOCK
struct _EFI_IFR_LOCKED EFI_IFR_LOCKED
struct _EFI_IFR_UINT8 EFI_IFR_UINT8
struct _EFI_HII_SIMPLE_FONT_PACKAGE_HDR EFI_HII_SIMPLE_FONT_PACKAGE_HDR
A simplified font package consists of a font header followed by a series of glyph structures.
struct _EFI_IFR_SUBTRACT EFI_IFR_SUBTRACT
struct _EFI_IFR_BITWISE_OR EFI_IFR_BITWISE_OR
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Definition compiler.h:926
#define u8
Definition igbvf_osdep.h:40
uint64_t u64
Definition stdint.h:26
The header found at the start of each package.
The header found at the start of each package list.
CHAR16 ShiftedAltGrUnicode
Unicode character code for the key with the Alt-GR and shift keys being held down.
EFI_KEY Key
Used to describe a physical key on a keyboard.
UINT16 Modifier
Modifier keys are defined to allow for special functionality that is not necessarily accomplished by ...
CHAR16 Unicode
Unicode character code for the Key.
CHAR16 AltGrUnicode
Unicode character code for the key with the Alt-GR being held down.
CHAR16 ShiftedUnicode
Unicode character code for the key with the shift key being held down.
The EFI_NARROW_GLYPH has a preferred dimension (w x h) of 8 x 19 pixels.
UINT8 Attributes
The data element containing the glyph definitions.
UINT8 GlyphCol1[EFI_GLYPH_HEIGHT]
The column major glyph representation of the character.
CHAR16 UnicodeWeight
The Unicode representation of the glyph.
The EFI_WIDE_GLYPH has a preferred dimension (w x h) of 16 x 19 pixels, which is large enough to acco...
UINT8 GlyphCol2[EFI_GLYPH_HEIGHT]
The column major glyph representation of the character.
CHAR16 UnicodeWeight
The Unicode representation of the glyph.
UINT8 Pad[3]
Ensures that sizeof (EFI_WIDE_GLYPH) is twice the sizeof (EFI_NARROW_GLYPH).
UINT8 GlyphCol1[EFI_GLYPH_HEIGHT]
The column major glyph representation of the character.
UINT8 Attributes
The data element containing the glyph definitions.
An animation block to describe an animation sequence that does not cycle, and where the logical windo...
EFI_HII_ANIMATION_CELL AnimationCell[1]
An array of CellCount animation cells.
EFI_IMAGE_ID DftImageId
This is image that is to be reference by the image protocols, if the animation function is not suppor...
EFI_HII_RGB_PIXEL BackgndColor
The color to clear the logical window to before displaying the indexed image.
UINT16 CellCount
The number of EFI_HII_ANIMATION_CELL contained in the animation sequence.
UINT16 Width
The overall width of the set of images (logical window width).
UINT16 Height
The overall height of the set of images (logical window height).
Assigns a new character value to a previously defined animation sequence.
EFI_ANIMATION_ID AnimationId
The previously defined animation ID with the exact same animation information.
Extended block headers used for variable sized animation records which need an explicit length.
EFI_HII_ANIMATION_BLOCK Header
Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT1.
UINT8 Length
Size of the animation block, in bytes, including the animation block header.
EFI_HII_ANIMATION_BLOCK Header
Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT2.
UINT16 Length
Size of the animation block, in bytes, including the animation block header.
EFI_HII_ANIMATION_BLOCK Header
Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT4.
UINT32 Length
Size of the animation block, in bytes, including the animation block header.
An animation block to describe an animation sequence that does not cycle, and where one image is simp...
EFI_HII_ANIMATION_CELL AnimationCell[1]
An array of CellCount animation cells.
UINT16 CellCount
The number of EFI_HII_ANIMATION_CELL contained in the animation sequence.
UINT16 Height
The overall height of the set of images (logical window height).
EFI_IMAGE_ID DftImageId
This is image that is to be reference by the image protocols, if the animation function is not suppor...
UINT16 Width
The overall width of the set of images (logical window width).
An animation block to describe an animation sequence that does not cycle, and where the screen is res...
UINT16 Height
The overall height of the set of images (logical window height).
UINT16 CellCount
The number of EFI_HII_ANIMATION_CELL contained in the animation sequence.
EFI_IMAGE_ID DftImageId
This is image that is to be reference by the image protocols, if the animation function is not suppor...
UINT16 Width
The overall width of the set of images (logical window width).
EFI_HII_ANIMATION_CELL AnimationCell[1]
An array of CellCount animation cells.
UINT8 SkipCount
The unsigned 8-bit value to add to AnimationIdCurrent.
UINT16 SkipCount
The unsigned 16-bit value to add to AnimationIdCurrent.
Animation information is encoded as a series of blocks, with each block prefixed by a single byte hea...
UINT16 Delay
The number of milliseconds to delay after displaying the indexed image and before continuing on to th...
EFI_IMAGE_ID ImageId
The image to display at the specified offset from the upper left hand corner of the logical window.
UINT16 OffsetY
The Y offset from the upper left hand corner of the logical window to position the indexed image.
UINT16 OffsetX
The X offset from the upper left hand corner of the logical window to position the indexed image.
UINT32 AnimationInfoOffset
Offset, relative to this header, of the animation information.
EFI_HII_PACKAGE_HEADER Header
Standard package header, where Header.Type = EFI_HII_PACKAGE_ANIMATIONS.
The device path package is used to carry a device path associated with the package list.
The fixed header consists of a standard record header, then the character values in this section,...
The Form package is used to carry form-based encoding data.
The GUID package is used to carry data where the format is defined by a GUID.
A simplified font package consists of a font header followed by a series of glyph structures.
The fixed header consists of a standard record header and then the string identifiers contained in th...
EFI_IFR_QUESTION_HEADER Question
EFI_IFR_QUESTION_HEADER Question
EFI_ANIMATION_ID Id
Animation identifier in the HII database.
EFI_IFR_OP_HEADER Header
Standard opcode header, where Header.OpCode is EFI_IFR_ANIMATION_OP.
EFI_IFR_QUESTION_HEADER Question
EFI_IFR_QUESTION_HEADER Question
EFI_GUID MethodIdentifier
Identifier which uniquely specifies the configuration methods associated with this standards map form...
EFI_STRING_ID MethodTitle
The string identifier which provides the human-readable name of the configuration method for this sta...
EFI_FORM_ID FormId
The unique identifier for this particular form.
EFI_IFR_OP_HEADER Header
The sequence that defines the type of opcode as well as the length of the opcode being defined.
EFI_VARSTORE_ID VarStoreId
Specifies the identifier of a previously declared variable store to use when retrieving the value.
UINT8 VarStoreType
Specifies the type used for storage.
EFI_IFR_OP_HEADER Header
The sequence that defines the type of opcode as well as the length of the opcode being defined.
UINT16 VarOffset
A Name Value or EFI Variable name (VarName).
union _EFI_IFR_GET::@057331140221305217137163215360174155306102160175 VarStoreInfo
EFI_STRING_ID VarName
A 16-bit Buffer Storage offset.
EFI_IFR_QUESTION_HEADER Question
EFI_IFR_QUESTION_HEADER Question
EFI_IFR_QUESTION_HEADER Question
union _EFI_IFR_QUESTION_HEADER::@270154056040045031072026335247250302177356064274 VarStoreInfo
EFI_IFR_QUESTION_HEADER Question
EFI_IFR_QUESTION_HEADER Question
EFI_IFR_QUESTION_HEADER Question
EFI_IFR_QUESTION_HEADER Question
EFI_IFR_QUESTION_HEADER Question
EFI_IFR_OP_HEADER Header
Standard opcode header, where Header.Op = EFI_IFR_SECURITY_OP.
EFI_GUID Permissions
Security permission level.
EFI_VARSTORE_ID VarStoreId
Specifies the identifier of a previously declared variable store to use when storing the question's v...
EFI_IFR_OP_HEADER Header
The sequence that defines the type of opcode as well as the length of the opcode being defined.
UINT8 VarStoreType
Specifies the type used for storage.
union _EFI_IFR_SET::@314043164323140155320147251373105272114363203257 VarStoreInfo
UINT16 VarOffset
A Name Value or EFI Variable name (VarName).
EFI_STRING_ID VarName
A 16-bit Buffer Storage offset.
EFI_IFR_QUESTION_HEADER Question
EFI_IFR_STATEMENT_HEADER Statement
EFI_IFR_STATEMENT_HEADER Statement
EFI_IFR_QUESTION_HEADER Question
EFI_STRING_ID string
EFI_IFR_TYPE_STRING, EFI_IFR_TYPE_ACTION.
EFI_HII_REF ref
EFI_IFR_TYPE_REF.
#define u16
Definition vga.h:20
#define u32
Definition vga.h:21