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 
6 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
7 (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
8 SPDX-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 
18 FILE_LICENCE ( BSD2_PATENT );
19 FILE_SECBOOT ( PERMITTED );
20 
22 
23 ///
24 /// The following types are currently defined:
25 ///
27 typedef CHAR16 *EFI_STRING;
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 ///
49 typedef struct {
53 
54 ///
55 /// The header found at the start of each package.
56 ///
57 typedef struct {
58  UINT32 Length : 24;
59  UINT32 Type : 8;
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 ///
96 typedef 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 ///
118 typedef 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  ///
145  UINT8 Pad[3];
147 
148 ///
149 /// A simplified font package consists of a font header
150 /// followed by a series of glyph structures.
151 ///
156  // EFI_NARROW_GLYPH NarrowGlyphs[];
157  // EFI_WIDE_GLYPH WideGlyphs[];
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 
177 typedef struct _EFI_HII_GLYPH_INFO {
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 
217 typedef struct _EFI_HII_GLYPH_BLOCK {
220 
221 //
222 // Definition of different glyph info block types
223 //
224 
229 
234 
238 
239 typedef struct _EFI_HII_GIBT_EXT1_BLOCK {
244 
245 typedef struct _EFI_HII_GIBT_EXT2_BLOCK {
250 
251 typedef struct _EFI_HII_GIBT_EXT4_BLOCK {
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 
347 typedef struct {
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 
380 typedef struct _EFI_HII_SIBT_END_BLOCK {
383 
384 typedef struct _EFI_HII_SIBT_EXT1_BLOCK {
389 
390 typedef struct _EFI_HII_SIBT_EXT2_BLOCK {
395 
396 typedef struct _EFI_HII_SIBT_EXT4_BLOCK {
401 
402 typedef struct _EFI_HII_SIBT_FONT_BLOCK {
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 
479 typedef struct _EFI_HII_IMAGE_BLOCK {
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 
508 typedef struct _EFI_HII_IIBT_END_BLOCK {
511 
512 typedef struct _EFI_HII_IIBT_EXT1_BLOCK {
517 
518 typedef struct _EFI_HII_IIBT_EXT2_BLOCK {
523 
524 typedef struct _EFI_HII_IIBT_EXT4_BLOCK {
529 
535 
541 
547 
548 typedef struct _EFI_HII_RGB_PIXEL {
553 
559 
564 
569 
575 
581 
587 
593 
599 
605 
610 
611 typedef struct _EFI_HII_IIBT_JPEG_BLOCK {
616 
617 typedef struct _EFI_HII_IIBT_PNG_BLOCK {
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 
660 typedef struct {
664 } EFI_HII_TIME;
665 
666 typedef struct {
670 } EFI_HII_DATE;
671 
672 typedef struct {
677 } EFI_HII_REF;
678 
679 typedef 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 
801 typedef struct _EFI_IFR_OP_HEADER {
806 
811 
812 typedef struct _EFI_IFR_QUESTION_HEADER {
816  union {
819  } VarStoreInfo;
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 //
837 typedef struct _EFI_IFR_DEFAULTSTORE {
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 
856 typedef struct _EFI_IFR_VARSTORE {
863 
864 typedef struct _EFI_IFR_VARSTORE_EFI {
872 
878 
879 typedef struct _EFI_IFR_FORM_SET {
885  // EFI_GUID ClassGuid[];
887 
888 typedef struct _EFI_IFR_END {
890 } EFI_IFR_END;
891 
892 typedef struct _EFI_IFR_FORM {
896 } EFI_IFR_FORM;
897 
898 typedef struct _EFI_IFR_IMAGE {
901 } EFI_IFR_IMAGE;
902 
903 typedef struct _EFI_IFR_MODAL_TAG {
906 
907 typedef struct _EFI_IFR_LOCKED {
910 
911 typedef struct _EFI_IFR_RULE {
914 } EFI_IFR_RULE;
915 
916 typedef struct _EFI_IFR_DEFAULT {
922 
923 typedef struct _EFI_IFR_DEFAULT_2 {
928 
929 typedef struct _EFI_IFR_VALUE {
931 } EFI_IFR_VALUE;
932 
933 typedef struct _EFI_IFR_SUBTITLE {
938 
939 #define EFI_IFR_FLAGS_HORIZONTAL 0x01
940 
941 typedef struct _EFI_IFR_CHECKBOX {
946 
947 #define EFI_IFR_CHECKBOX_DEFAULT 0x01
948 #define EFI_IFR_CHECKBOX_DEFAULT_MFG 0x02
949 
950 typedef struct _EFI_IFR_TEXT {
954 } EFI_IFR_TEXT;
955 
956 typedef struct _EFI_IFR_REF {
960 } EFI_IFR_REF;
961 
962 typedef struct _EFI_IFR_REF2 {
967 } EFI_IFR_REF2;
968 
969 typedef struct _EFI_IFR_REF3 {
975 } EFI_IFR_REF3;
976 
977 typedef struct _EFI_IFR_REF4 {
984 } EFI_IFR_REF4;
985 
986 typedef struct _EFI_IFR_REF5 {
989 } EFI_IFR_REF5;
990 
991 typedef struct _EFI_IFR_RESET_BUTTON {
996 
997 typedef struct _EFI_IFR_ACTION {
1001 } EFI_IFR_ACTION;
1002 
1003 typedef struct _EFI_IFR_ACTION_1 {
1007 
1008 typedef struct _EFI_IFR_DATE {
1012 } EFI_IFR_DATE;
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 
1026 typedef union {
1027  struct {
1031  } u8;
1032  struct {
1036  } u16;
1037  struct {
1041  } u32;
1042  struct {
1046  } u64;
1047 } MINMAXSTEP_DATA;
1048 
1049 typedef struct _EFI_IFR_NUMERIC {
1054 } EFI_IFR_NUMERIC;
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 
1070 typedef struct _EFI_IFR_ONE_OF {
1075 } EFI_IFR_ONE_OF;
1076 
1077 typedef struct _EFI_IFR_STRING {
1083 } EFI_IFR_STRING;
1084 
1085 #define EFI_IFR_STRING_MULTI_LINE 0x01
1086 
1087 typedef struct _EFI_IFR_PASSWORD {
1093 
1094 typedef struct _EFI_IFR_ORDERED_LIST {
1100 
1101 #define EFI_IFR_UNIQUE_SET 0x01
1102 #define EFI_IFR_NO_EMPTY_SET 0x02
1103 
1104 typedef struct _EFI_IFR_TIME {
1108 } EFI_IFR_TIME;
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 
1122 typedef struct _EFI_IFR_DISABLE_IF {
1125 
1126 typedef struct _EFI_IFR_SUPPRESS_IF {
1129 
1130 typedef struct _EFI_IFR_GRAY_OUT_IF {
1133 
1138 
1139 typedef struct _EFI_IFR_NO_SUBMIT_IF {
1143 
1144 typedef struct _EFI_IFR_WARNING_IF {
1149 
1150 typedef struct _EFI_IFR_REFRESH {
1153 } EFI_IFR_REFRESH;
1154 
1159 
1160 typedef struct _EFI_IFR_ONE_OF_OPTION {
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 
1188 typedef struct _EFI_IFR_GUID {
1191  // Optional Data Follows
1192 } EFI_IFR_GUID;
1193 
1194 typedef struct _EFI_IFR_REFRESH_ID {
1198 
1199 typedef struct _EFI_IFR_DUP {
1201 } EFI_IFR_DUP;
1202 
1203 typedef struct _EFI_IFR_EQ_ID_ID {
1208 
1209 typedef struct _EFI_IFR_EQ_ID_VAL {
1214 
1215 typedef struct _EFI_IFR_EQ_ID_VAL_LIST {
1221 
1222 typedef struct _EFI_IFR_UINT8 {
1225 } EFI_IFR_UINT8;
1226 
1227 typedef struct _EFI_IFR_UINT16 {
1230 } EFI_IFR_UINT16;
1231 
1232 typedef struct _EFI_IFR_UINT32 {
1235 } EFI_IFR_UINT32;
1236 
1237 typedef struct _EFI_IFR_UINT64 {
1240 } EFI_IFR_UINT64;
1241 
1242 typedef struct _EFI_IFR_QUESTION_REF1 {
1246 
1247 typedef struct _EFI_IFR_QUESTION_REF2 {
1250 
1251 typedef struct _EFI_IFR_QUESTION_REF3 {
1254 
1259 
1265 
1266 typedef struct _EFI_IFR_RULE_REF {
1270 
1271 typedef struct _EFI_IFR_STRING_REF1 {
1275 
1276 typedef struct _EFI_IFR_STRING_REF2 {
1279 
1280 typedef struct _EFI_IFR_THIS {
1282 } EFI_IFR_THIS;
1283 
1284 typedef struct _EFI_IFR_TRUE {
1286 } EFI_IFR_TRUE;
1287 
1288 typedef struct _EFI_IFR_FALSE {
1290 } EFI_IFR_FALSE;
1291 
1292 typedef struct _EFI_IFR_ONE {
1294 } EFI_IFR_ONE;
1295 
1296 typedef struct _EFI_IFR_ONES {
1298 } EFI_IFR_ONES;
1299 
1300 typedef struct _EFI_IFR_ZERO {
1302 } EFI_IFR_ZERO;
1303 
1304 typedef struct _EFI_IFR_UNDEFINED {
1307 
1308 typedef struct _EFI_IFR_VERSION {
1310 } EFI_IFR_VERSION;
1311 
1312 typedef struct _EFI_IFR_LENGTH {
1314 } EFI_IFR_LENGTH;
1315 
1316 typedef struct _EFI_IFR_NOT {
1318 } EFI_IFR_NOT;
1319 
1320 typedef struct _EFI_IFR_BITWISE_NOT {
1323 
1324 typedef struct _EFI_IFR_TO_BOOLEAN {
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 
1351 typedef struct _EFI_IFR_TO_STRING {
1355 
1356 typedef struct _EFI_IFR_TO_UINT {
1358 } EFI_IFR_TO_UINT;
1359 
1360 typedef struct _EFI_IFR_TO_UPPER {
1363 
1364 typedef struct _EFI_IFR_TO_LOWER {
1367 
1368 typedef struct _EFI_IFR_ADD {
1370 } EFI_IFR_ADD;
1371 
1372 typedef struct _EFI_IFR_AND {
1374 } EFI_IFR_AND;
1375 
1376 typedef struct _EFI_IFR_BITWISE_AND {
1379 
1380 typedef struct _EFI_IFR_BITWISE_OR {
1383 
1384 typedef struct _EFI_IFR_CATENATE {
1387 
1388 typedef struct _EFI_IFR_DIVIDE {
1390 } EFI_IFR_DIVIDE;
1391 
1392 typedef struct _EFI_IFR_EQUAL {
1394 } EFI_IFR_EQUAL;
1395 
1396 typedef struct _EFI_IFR_GREATER_EQUAL {
1399 
1400 typedef struct _EFI_IFR_GREATER_THAN {
1403 
1404 typedef struct _EFI_IFR_LESS_EQUAL {
1407 
1408 typedef struct _EFI_IFR_LESS_THAN {
1411 
1412 typedef struct _EFI_IFR_MATCH {
1414 } EFI_IFR_MATCH;
1415 
1416 typedef struct _EFI_IFR_MATCH2 {
1419 } EFI_IFR_MATCH2;
1420 
1421 typedef struct _EFI_IFR_MULTIPLY {
1424 
1425 typedef struct _EFI_IFR_MODULO {
1427 } EFI_IFR_MODULO;
1428 
1429 typedef struct _EFI_IFR_NOT_EQUAL {
1432 
1433 typedef struct _EFI_IFR_OR {
1435 } EFI_IFR_OR;
1436 
1437 typedef struct _EFI_IFR_SHIFT_LEFT {
1440 
1441 typedef struct _EFI_IFR_SHIFT_RIGHT {
1444 
1445 typedef struct _EFI_IFR_SUBTRACT {
1448 
1449 typedef struct _EFI_IFR_CONDITIONAL {
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 
1459 typedef struct _EFI_IFR_FIND {
1462 } EFI_IFR_FIND;
1463 
1464 typedef struct _EFI_IFR_MID {
1466 } EFI_IFR_MID;
1467 
1468 typedef struct _EFI_IFR_TOKEN {
1470 } EFI_IFR_TOKEN;
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 
1479 typedef struct _EFI_IFR_SPAN {
1482 } EFI_IFR_SPAN;
1483 
1484 typedef 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 
1508 typedef 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 
1524 typedef 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  ///
1544  } VarStoreInfo;
1545  ///
1546  /// Specifies the type used for storage.
1547  ///
1549 } EFI_IFR_SET;
1550 
1551 typedef 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  ///
1571  } VarStoreInfo;
1572  ///
1573  /// Specifies the type used for storage.
1574  ///
1576 } EFI_IFR_GET;
1577 
1578 typedef struct _EFI_IFR_READ {
1580 } EFI_IFR_READ;
1581 
1582 typedef struct _EFI_IFR_WRITE {
1584 } EFI_IFR_WRITE;
1585 
1586 typedef struct _EFI_IFR_MAP {
1588 } EFI_IFR_MAP;
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 ///
1597 typedef enum {
1713 } EFI_KEY;
1714 
1715 typedef 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 
1765 typedef struct {
1770  // EFI_KEY_DESCRIPTOR Descriptors[];
1772 
1773 typedef 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 ///
1837 typedef 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 
1940 typedef struct _EFI_HII_ANIMATION_CELL {
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
struct _EFI_IFR_EQ_ID_VAL_LIST EFI_IFR_EQ_ID_VAL_LIST
struct _EFI_IFR_STRING_REF1 EFI_IFR_STRING_REF1
#define u16
Definition: vga.h:20
struct _EFI_HII_GLYPH_INFO EFI_HII_GLYPH_INFO
EFI_IMAGE_ID DftImageId
This is image that is to be reference by the image protocols, if the animation function is not suppor...
struct _EFI_IFR_BITWISE_NOT EFI_IFR_BITWISE_NOT
struct _EFI_IFR_ADD EFI_IFR_ADD
UINT16 VarOffset
A Name Value or EFI Variable name (VarName).
struct _EFI_HII_SIBT_STRING_SCSU_BLOCK EFI_HII_SIBT_STRING_SCSU_BLOCK
struct _EFI_IFR_TIME EFI_IFR_TIME
Animation information is encoded as a series of blocks, with each block prefixed by a single byte hea...
struct _EFI_IFR_REF2 EFI_IFR_REF2
struct _EFI_HII_GLYPH_BLOCK EFI_HII_GLYPH_BLOCK
struct _EFI_HII_IIBT_IMAGE_1BIT_BLOCK EFI_HII_IIBT_IMAGE_1BIT_BLOCK
struct _EFI_IFR_UNDEFINED EFI_IFR_UNDEFINED
struct _EFI_HII_IIBT_EXT1_BLOCK EFI_HII_IIBT_EXT1_BLOCK
struct _EFI_IFR_TO_UPPER EFI_IFR_TO_UPPER
struct _EFI_IFR_WARNING_IF EFI_IFR_WARNING_IF
EFI_IFR_QUESTION_HEADER Question
An animation block to describe an animation sequence that does not cycle, and where one image is simp...
struct _EFI_IFR_ONE_OF_OPTION EFI_IFR_ONE_OF_OPTION
struct _EFI_HII_ANIMATION_CELL EFI_HII_ANIMATION_CELL
struct _EFI_HII_SIBT_DUPLICATE_BLOCK EFI_HII_SIBT_DUPLICATE_BLOCK
UINT32 Length
Size of the animation block, in bytes, including the animation block header.
struct _EFI_IFR_VALUE EFI_IFR_VALUE
UINT16 VarOffset
A Name Value or EFI Variable name (VarName).
struct _EFI_HII_SIBT_FONT_BLOCK EFI_HII_SIBT_FONT_BLOCK
UINT16 Width
The overall width of the set of images (logical window width).
struct _EFI_IFR_DISABLE_IF EFI_IFR_DISABLE_IF
struct _EFI_IFR_UINT16 EFI_IFR_UINT16
The Form package is used to carry form-based encoding data.
UINT16 CellCount
The number of EFI_HII_ANIMATION_CELL contained in the animation sequence.
The device path package is used to carry a device path associated with the package list.
struct _EFI_IFR_AND EFI_IFR_AND
struct _EFI_HII_GIBT_SKIP1_BLOCK EFI_HII_GIBT_SKIP1_BLOCK
struct _EFI_IFR_ZERO EFI_IFR_ZERO
struct _EFI_IFR_RULE EFI_IFR_RULE
struct _EFI_IFR_GREATER_EQUAL EFI_IFR_GREATER_EQUAL
EFI_GUID Permissions
Security permission level.
struct _EFI_IFR_VARSTORE_DEVICE EFI_IFR_VARSTORE_DEVICE
union _EFI_IFR_SET::@599 VarStoreInfo
EFI_IFR_STATEMENT_HEADER Statement
struct _EFI_IFR_GRAY_OUT_IF EFI_IFR_GRAY_OUT_IF
128 bit buffer containing a unique identifier value.
Definition: Base.h:216
struct _EFI_IFR_QUESTION_REF3_2 EFI_IFR_QUESTION_REF3_2
struct _EFI_HII_AIBT_EXT4_BLOCK EFI_HII_AIBT_EXT4_BLOCK
struct _EFI_IFR_VARSTORE_EFI EFI_IFR_VARSTORE_EFI
struct _EFI_IFR_STATEMENT_HEADER EFI_IFR_STATEMENT_HEADER
struct _EFI_IFR_REFRESH_ID EFI_IFR_REFRESH_ID
struct _EFI_IFR_LESS_THAN EFI_IFR_LESS_THAN
EFI_HII_ANIMATION_CELL AnimationCell[1]
An array of CellCount animation cells.
UINT8 VarStoreType
Specifies the type used for storage.
unsigned char BOOLEAN
struct _EFI_IFR_ONE EFI_IFR_ONE
EFI_ANIMATION_ID Id
Animation identifier in the HII database.
struct _EFI_IFR_MODULO EFI_IFR_MODULO
struct _EFI_IFR_FALSE EFI_IFR_FALSE
UINT8 Attributes
The data element containing the glyph definitions.
EFI_STRING_ID string
EFI_IFR_TYPE_STRING, EFI_IFR_TYPE_ACTION.
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.
unsigned int UINT32
Definition: ProcessorBind.h:99
EFI_STRING_ID VarName
A 16-bit Buffer Storage offset.
#define EFI_GLYPH_HEIGHT
Contents of EFI_NARROW_GLYPH.Attributes.
EFI_IFR_OP_HEADER Header
Standard opcode header, where Header.Op = EFI_IFR_SECURITY_OP.
struct _EFI_IFR_TO_STRING EFI_IFR_TO_STRING
struct _EFI_IFR_WRITE EFI_IFR_WRITE
EFI_IFR_QUESTION_HEADER Question
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...
UINT16 Modifier
Modifier keys are defined to allow for special functionality that is not necessarily accomplished by ...
struct _EFI_IFR_DATE EFI_IFR_DATE
struct _EFI_HII_IIBT_EXT4_BLOCK EFI_HII_IIBT_EXT4_BLOCK
struct _EFI_IFR_MID EFI_IFR_MID
struct _EFI_HII_GIBT_EXT1_BLOCK EFI_HII_GIBT_EXT1_BLOCK
unsigned short CHAR16
struct _EFI_IFR_DEFAULT EFI_IFR_DEFAULT
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.
EFI_HII_ANIMATION_BLOCK Header
Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT1.
struct _EFI_IFR_DIVIDE EFI_IFR_DIVIDE
CHAR16 ShiftedUnicode
Unicode character code for the key with the shift key being held down.
struct _EFI_HII_IMAGE_PACKAGE_HDR EFI_HII_IMAGE_PACKAGE_HDR
struct _EFI_IFR_GREATER_THAN EFI_IFR_GREATER_THAN
EFI_STRING_ID VarName
A 16-bit Buffer Storage offset.
struct _EFI_HII_IIBT_DUPLICATE_BLOCK EFI_HII_IIBT_DUPLICATE_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.
struct _EFI_HII_AIBT_SKIP1_BLOCK EFI_HII_AIBT_SKIP1_BLOCK
Skips animation IDs.
EFI_FORM_ID FormId
The unique identifier for this particular form.
struct _EFI_IFR_REF3 EFI_IFR_REF3
struct _EFI_IFR_STRING EFI_IFR_STRING
struct _EFI_IFR_TO_BOOLEAN EFI_IFR_TO_BOOLEAN
EFI_IFR_QUESTION_HEADER Question
CHAR16 * EFI_STRING
EFI_KEY Key
Used to describe a physical key on a keyboard.
struct _EFI_HII_AIBT_SKIP2_BLOCK EFI_HII_AIBT_SKIP2_BLOCK
Skips animation IDs.
struct _EFI_IFR_VARSTORE_NAME_VALUE EFI_IFR_VARSTORE_NAME_VALUE
struct _EFI_IFR_REF EFI_IFR_REF
unsigned char UINT8
struct _EFI_IFR_PASSWORD EFI_IFR_PASSWORD
struct _EFI_IFR_SPAN EFI_IFR_SPAN
EFI_IFR_QUESTION_HEADER Question
struct _EFI_IFR_NUMERIC EFI_IFR_NUMERIC
struct _EFI_HII_IIBT_SKIP2_BLOCK EFI_HII_IIBT_SKIP2_BLOCK
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...
EFI_HII_ANIMATION_BLOCK Header
Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT2.
EFI_IFR_QUESTION_HEADER Question
struct _EFI_HII_SIBT_EXT2_BLOCK EFI_HII_SIBT_EXT2_BLOCK
UINT16 Delay
The number of milliseconds to delay after displaying the indexed image and before continuing on to th...
struct _EFI_HII_GIBT_SKIP2_BLOCK EFI_HII_GIBT_SKIP2_BLOCK
struct _EFI_HII_IMAGE_BLOCK EFI_HII_IMAGE_BLOCK
struct _EFI_IFR_READ EFI_IFR_READ
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...
struct _EFI_HII_SIBT_STRINGS_UCS2_FONT_BLOCK EFI_HII_SIBT_STRINGS_UCS2_FONT_BLOCK
struct _EFI_IFR_FORM_SET EFI_IFR_FORM_SET
UINT16 OffsetX
The X offset from the upper left hand corner of the logical window to position the indexed image.
struct _EFI_HII_SIBT_STRING_UCS2_FONT_BLOCK EFI_HII_SIBT_STRING_UCS2_FONT_BLOCK
EFI_IFR_QUESTION_HEADER Question
struct _EFI_IFR_UINT32 EFI_IFR_UINT32
struct _EFI_HII_GIBT_DUPLICATE_BLOCK EFI_HII_GIBT_DUPLICATE_BLOCK
struct _EFI_HII_RGB_PIXEL EFI_HII_RGB_PIXEL
UINT32 EFI_HII_FONT_STYLE
EFI_IFR_OP_HEADER Header
The sequence that defines the type of opcode as well as the length of the opcode being defined.
struct _EFI_HII_SIBT_SKIP1_BLOCK EFI_HII_SIBT_SKIP1_BLOCK
struct _EFI_IFR_TO_LOWER EFI_IFR_TO_LOWER
struct _EFI_IFR_STRING_REF2 EFI_IFR_STRING_REF2
struct _EFI_IFR_INCONSISTENT_IF EFI_IFR_INCONSISTENT_IF
struct _EFI_HII_IIBT_IMAGE_4BIT_TRANS_BLOCK EFI_HII_IIBT_IMAGE_4BIT_TRANS_BLOCK
UINT16 EFI_DEFAULT_ID
The EFI_WIDE_GLYPH has a preferred dimension (w x h) of 16 x 19 pixels, which is large enough to acco...
UINT32 AnimationInfoOffset
Offset, relative to this header, of the animation information.
UINT16 CellCount
The number of EFI_HII_ANIMATION_CELL contained in the animation sequence.
struct _EFI_IFR_CHECKBOX EFI_IFR_CHECKBOX
struct _EFI_HII_IIBT_SKIP1_BLOCK EFI_HII_IIBT_SKIP1_BLOCK
struct _EFI_IFR_EQ_ID_ID EFI_IFR_EQ_ID_ID
struct _EFI_IFR_SET EFI_IFR_SET
CHAR16 AltGrUnicode
Unicode character code for the key with the Alt-GR being held down.
CHAR16 UnicodeWeight
The Unicode representation of the glyph.
EFI_IFR_QUESTION_HEADER Question
struct _EFI_IFR_MAP EFI_IFR_MAP
EFI_STRING_ID MethodTitle
The string identifier which provides the human-readable name of the configuration method for this sta...
struct _EFI_IFR_REF4 EFI_IFR_REF4
struct _EFI_IFR_QUESTION_REF3_3 EFI_IFR_QUESTION_REF3_3
struct _EFI_IFR_FORM_MAP_METHOD EFI_IFR_FORM_MAP_METHOD
struct _EFI_IFR_DEFAULTSTORE EFI_IFR_DEFAULTSTORE
FILE_LICENCE(BSD2_PATENT)
#define u32
Definition: vga.h:21
A simplified font package consists of a font header followed by a series of glyph structures.
struct _EFI_IFR_MATCH EFI_IFR_MATCH
uint64_t u64
Definition: stdint.h:26
struct _EFI_HII_IIBT_IMAGE_8BIT_TRANS_BLOCK EFI_HII_IIBT_IMAGE_8BIT_TRAN_BLOCK
struct _EFI_IFR_QUESTION_REF3 EFI_IFR_QUESTION_REF3
#define u8
Definition: igbvf_osdep.h:40
struct _EFI_HII_GIBT_DEFAULTS_BLOCK EFI_HII_GIBT_DEFAULTS_BLOCK
UINT16 SkipCount
The unsigned 16-bit value to add to AnimationIdCurrent.
UINT8 Length
Size of the animation block, in bytes, including the animation block header.
EFI_IFR_QUESTION_HEADER Question
An animation block to describe an animation sequence that does not cycle, and where the logical windo...
short INT16
struct _EFI_IFR_ACTION EFI_IFR_ACTION
The fixed header consists of a standard record header and then the string identifiers contained in th...
struct _EFI_HII_SIBT_STRING_SCSU_FONT_BLOCK EFI_HII_SIBT_STRING_SCSU_FONT_BLOCK
struct _EFI_IFR_MATCH2 EFI_IFR_MATCH2
EFI_HII_PACKAGE_HEADER Header
Standard package header, where Header.Type = EFI_HII_PACKAGE_ANIMATIONS.
unsigned short UINT16
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_LENGTH EFI_IFR_LENGTH
struct _EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK
EFI_IFR_QUESTION_HEADER Question
UINT8 Attributes
The data element containing the glyph definitions.
EFI_IFR_OP_HEADER Header
The sequence that defines the type of opcode as well as the length of the opcode being defined.
struct _EFI_IFR_MULTIPLY EFI_IFR_MULTIPLY
EFI_IFR_STATEMENT_HEADER Statement
struct _EFI_IFR_OR EFI_IFR_OR
Extended block headers used for variable sized animation records which need an explicit length.
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...
EFI_HII_ANIMATION_BLOCK Header
Standard animation header, where Header.BlockType = EFI_HII_AIBT_EXT4.
FILE_SECBOOT(PERMITTED)
struct _EFI_HII_SIBT_STRINGS_UCS2_BLOCK EFI_HII_SIBT_STRINGS_UCS2_BLOCK
Assigns a new character value to a previously defined animation sequence.
struct _EFI_IFR_NOT_EQUAL EFI_IFR_NOT_EQUAL
struct _EFI_IFR_ACTION_1 EFI_IFR_ACTION_1
struct _EFI_IFR_QUESTION_REF2 EFI_IFR_QUESTION_REF2
struct _EFI_IFR_BITWISE_AND EFI_IFR_BITWISE_AND
EFI_ANIMATION_ID AnimationId
The previously defined animation ID with the exact same animation information.
struct _EFI_IFR_THIS EFI_IFR_THIS
EFI_IFR_OP_HEADER Header
Standard opcode header, where Header.OpCode is EFI_IFR_ANIMATION_OP.
struct _EFI_IFR_TRUE EFI_IFR_TRUE
struct _EFI_IFR_END EFI_IFR_END
struct _EFI_IFR_EQUAL EFI_IFR_EQUAL
UINT8 SkipCount
The unsigned 8-bit value to add to AnimationIdCurrent.
EFI_IFR_STATEMENT_HEADER Statement
struct _EFI_IFR_TOKEN EFI_IFR_TOKEN
struct _EFI_HII_IIBT_IMAGE_1BIT_BASE EFI_HII_IIBT_IMAGE_1BIT_BASE
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...
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...
UINT16 EFI_ANIMATION_ID
struct _EFI_HII_GIBT_EXT4_BLOCK EFI_HII_GIBT_EXT4_BLOCK
CHAR16 UnicodeWeight
The Unicode representation of the glyph.
#define VOID
Undeclared type.
Definition: Base.h:272
unsigned long long UINT64
Definition: ProcessorBind.h:97
struct _EFI_HII_IIBT_END_BLOCK EFI_HII_IIBT_END_BLOCK
CHAR16 Unicode
Unicode character code for the Key.
struct _EFI_IFR_REF5 EFI_IFR_REF5
struct _EFI_HII_FORM_PACKAGE_HDR EFI_HII_FORM_PACKAGE_HDR
The Form package is used to carry form-based encoding data.
EFI_IFR_QUESTION_HEADER Question
struct _EFI_HII_IIBT_EXT2_BLOCK EFI_HII_IIBT_EXT2_BLOCK
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_ONE_OF EFI_IFR_ONE_OF
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_GUID EFI_IFR_GUID
struct _EFI_HII_GIBT_GLYPHS_BLOCK EFI_HII_GIBT_GLYPHS_BLOCK
struct _EFI_IFR_LESS_EQUAL EFI_IFR_LESS_EQUAL
struct _EFI_IFR_SUBTRACT EFI_IFR_SUBTRACT
UINT16 Height
The overall height of the set of images (logical window height).
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_HII_IIBT_IMAGE_24BIT_TRANS_BLOCK EFI_HII_IIBT_IMAGE_24BIT_TRANS_BLOCK
EFI_IFR_QUESTION_HEADER Question
struct _EFI_IFR_FORM EFI_IFR_FORM
struct _EFI_HII_IIBT_JPEG_BLOCK EFI_HII_IIBT_JPEG_BLOCK
struct _EFI_HII_SIBT_SKIP2_BLOCK EFI_HII_SIBT_SKIP2_BLOCK
The fixed header consists of a standard record header, then the character values in this section,...
UINT16 Height
The overall height of the set of images (logical window height).
union _EFI_IFR_QUESTION_HEADER::@594 VarStoreInfo
The EFI_NARROW_GLYPH has a preferred dimension (w x h) of 8 x 19 pixels.
struct _EFI_IFR_TO_UINT EFI_IFR_TO_UINT
UINT16 Height
The overall height of the set of images (logical window height).
struct _EFI_HII_SIBT_EXT1_BLOCK EFI_HII_SIBT_EXT1_BLOCK
struct _EFI_IFR_RULE_REF EFI_IFR_RULE_REF
struct _EFI_IFR_VERSION EFI_IFR_VERSION
struct _EFI_IFR_NOT EFI_IFR_NOT
struct _EFI_IFR_QUESTION_HEADER EFI_IFR_QUESTION_HEADER
EFI_HII_REF ref
EFI_IFR_TYPE_REF.
UINT16 EFI_VARSTORE_ID
struct _EFI_IFR_FORM_MAP EFI_IFR_FORM_MAP
struct _EFI_IFR_FIND EFI_IFR_FIND
struct _EFI_IFR_NO_SUBMIT_IF EFI_IFR_NO_SUBMIT_IF
struct _EFI_IFR_RESET_BUTTON EFI_IFR_RESET_BUTTON
struct _EFI_HII_IIBT_IMAGE_8BIT_PALETTE_BLOCK EFI_HII_IIBT_IMAGE_8BIT_BLOCK
EFI_IMAGE_ID DftImageId
This is image that is to be reference by the image protocols, if the animation function is not suppor...
struct _EFI_IFR_SUBTITLE EFI_IFR_SUBTITLE
UINT8 VarStoreType
Specifies the type used for storage.
struct _EFI_IFR_REFRESH EFI_IFR_REFRESH
struct _EFI_HII_IIBT_PNG_BLOCK EFI_HII_IIBT_PNG_BLOCK
char CHAR8
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.
EFI_GUID MethodIdentifier
Identifier which uniquely specifies the configuration methods associated with this standards map form...
struct _EFI_HII_IIBT_IMAGE_24BIT_BASE EFI_HII_IIBT_IMAGE_24BIT_BASE
struct _EFI_IFR_OP_HEADER EFI_IFR_OP_HEADER
The header found at the start of each package.
struct _EFI_IFR_TEXT EFI_IFR_TEXT
struct _EFI_IFR_IMAGE EFI_IFR_IMAGE
struct _EFI_HII_GIBT_EXT2_BLOCK EFI_HII_GIBT_EXT2_BLOCK
union _EFI_IFR_GET::@600 VarStoreInfo
struct _EFI_HII_GIBT_VARIABILITY_BLOCK EFI_HII_GIBT_VARIABILITY_BLOCK
struct _EFI_IFR_SHIFT_RIGHT EFI_IFR_SHIFT_RIGHT
UINT16 EFI_STRING_ID
Guid used to identify HII FormMap configuration method.
struct _EFI_HII_SIBT_STRINGS_SCSU_BLOCK EFI_HII_SIBT_STRINGS_SCSU_BLOCK
struct _EFI_IFR_QUESTION_REF1 EFI_IFR_QUESTION_REF1
struct _EFI_HII_SIBT_STRINGS_SCSU_FONT_BLOCK EFI_HII_SIBT_STRINGS_SCSU_FONT_BLOCK
struct _EFI_IFR_UINT64 EFI_IFR_UINT64
EFI_VARSTORE_ID VarStoreId
Specifies the identifier of a previously declared variable store to use when storing the question's v...
struct _EFI_IFR_ANIMATION EFI_IFR_ANIMATION
Animation IFR opcode.
EFI_KEY
Each enumeration values maps a physical key on a keyboard.
An animation block to describe an animation sequence that does not cycle, and where the screen is res...
UINT16 EFI_QUESTION_ID
struct _EFI_HII_IIBT_IMAGE_4BIT_BASE EFI_HII_IIBT_IMAGE_4BIT_BASE
UINT16 OffsetY
The Y offset from the upper left hand corner of the logical window to position the indexed image.
struct _EFI_HII_IMAGE_PALETTE_INFO_HEADER EFI_HII_IMAGE_PALETTE_INFO_HEADER
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_ANIMATION_PACKAGE_HDR EFI_HII_ANIMATION_PACKAGE_HDR
HII animation package header.
EFI_IMAGE_ID ImageId
The image to display at the specified offset from the upper left hand corner of the logical window.
struct _EFI_IFR_CATENATE EFI_IFR_CATENATE
struct _EFI_IFR_UINT8 EFI_IFR_UINT8
struct _EFI_HII_IMAGE_PALETTE_INFO EFI_HII_IMAGE_PALETTE_INFO
struct _EFI_IFR_EQ_ID_VAL EFI_IFR_EQ_ID_VAL
UINT16 CellCount
The number of EFI_HII_ANIMATION_CELL contained in the animation sequence.
UINT16 Length
Size of the animation block, in bytes, including the animation block header.
struct _EFI_IFR_SHIFT_LEFT EFI_IFR_SHIFT_LEFT
struct _EFI_HII_IIBT_IMAGE_1BIT_TRANS_BLOCK EFI_HII_IIBT_IMAGE_1BIT_TRANS_BLOCK
struct _EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK
struct _EFI_IFR_LOCKED EFI_IFR_LOCKED
struct _EFI_HII_AIBT_EXT2_BLOCK EFI_HII_AIBT_EXT2_BLOCK
EFI_HII_RGB_PIXEL BackgndColor
The color to clear the logical window to before displaying the indexed image.
struct _EFI_HII_IIBT_IMAGE_4BIT_BLOCK EFI_HII_IIBT_IMAGE_4BIT_BLOCK
struct _EFI_IFR_VARSTORE EFI_IFR_VARSTORE
EFI_IFR_OP_HEADER Header
The sequence that defines the type of opcode as well as the length of the opcode being defined.
EFI_IFR_QUESTION_HEADER Question
struct _EFI_IFR_BITWISE_OR EFI_IFR_BITWISE_OR
struct _EFI_IFR_GET EFI_IFR_GET
EFI_VARSTORE_ID VarStoreId
Specifies the identifier of a previously declared variable store to use when retrieving the value.
struct _EFI_HII_IIBT_IMAGE_24BIT_BLOCK EFI_HII_IIBT_IMAGE_24BIT_BLOCK
UINT16 Width
The overall width of the set of images (logical window width).
The header found at the start of each package list.
struct _EFI_HII_SIBT_END_BLOCK EFI_HII_SIBT_END_BLOCK
struct _EFI_IFR_CONDITIONAL EFI_IFR_CONDITIONAL
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_SUPPRESS_IF EFI_IFR_SUPPRESS_IF
struct _EFI_IFR_ORDERED_LIST EFI_IFR_ORDERED_LIST
struct _EFI_IFR_DUP EFI_IFR_DUP
struct _EFI_IFR_SECURITY EFI_IFR_SECURITY
struct _EFI_HII_SIBT_EXT4_BLOCK EFI_HII_SIBT_EXT4_BLOCK
struct _EFI_HII_GIBT_GLYPH_BLOCK EFI_HII_GIBT_GLYPH_BLOCK
VOID * EFI_HII_HANDLE
The following types are currently defined:
struct _EFI_HII_SIBT_STRING_UCS2_BLOCK EFI_HII_SIBT_STRING_UCS2_BLOCK
EFI_IFR_QUESTION_HEADER Question
struct _EFI_GLYPH_GIBT_END_BLOCK EFI_GLYPH_GIBT_END_BLOCK
The GUID package is used to carry data where the format is defined by a GUID.
struct _EFI_IFR_MODAL_TAG EFI_IFR_MODAL_TAG
CHAR16 ShiftedAltGrUnicode
Unicode character code for the key with the Alt-GR and shift keys being held down.
EFI_IFR_QUESTION_HEADER Question
struct _EFI_IFR_ONES EFI_IFR_ONES
struct _EFI_IFR_DEFAULT_2 EFI_IFR_DEFAULT_2