OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
HiiDatabase.h
Go to the documentation of this file.
1
9#ifndef __HII_DATABASE_PRIVATE_H__
10#define __HII_DATABASE_PRIVATE_H__
11
12#include <Uefi.h>
13
14#include <Protocol/DevicePath.h>
15#include <Protocol/HiiFont.h>
16#include <Protocol/HiiImage.h>
17#include <Protocol/HiiImageEx.h>
18#include <Protocol/HiiImageDecoder.h>
19#include <Protocol/HiiString.h>
20#include <Protocol/HiiDatabase.h>
21#include <Protocol/HiiConfigRouting.h>
22#include <Protocol/HiiConfigAccess.h>
23#include <Protocol/HiiConfigKeyword.h>
24#include <Protocol/SimpleTextOut.h>
25
26#include <Guid/HiiKeyBoardLayout.h>
27#include <Guid/GlobalVariable.h>
28#include <Guid/MdeModuleHii.h>
29#include <Guid/VariableFormat.h>
30#include <Guid/PcdDataBaseSignatureGuid.h>
31
32#include <Library/DebugLib.h>
33#include <Library/BaseMemoryLib.h>
34#include <Library/UefiDriverEntryPoint.h>
35#include <Library/UefiBootServicesTableLib.h>
36#include <Library/BaseLib.h>
37#include <Library/DevicePathLib.h>
38#include <Library/MemoryAllocationLib.h>
39#include <Library/UefiLib.h>
40#include <Library/PcdLib.h>
41#include <Library/UefiRuntimeServicesTableLib.h>
42#include <Library/PrintLib.h>
43#include <Library/OcStringLib.h>
44
45#define MAX_STRING_LENGTH 1024
46#define MAX_FONT_NAME_LEN 256
47#define NARROW_BASELINE 15
48#define WIDE_BASELINE 14
49#define SYS_FONT_INFO_MASK 0x37
50#define REPLACE_UNKNOWN_GLYPH 0xFFFD
51#define PROPORTIONAL_GLYPH 0x80
52#define NARROW_GLYPH 0x40
53
54#define BITMAP_LEN_1_BIT(Width, Height) (((UINT32) (Width) + 7) / 8 * (UINT32) (Height))
55#define BITMAP_LEN_4_BIT(Width, Height) (((UINT32) (Width) + 1) / 2 * (UINT32) (Height))
56#define BITMAP_LEN_8_BIT(Width, Height) ((UINT32) (Width) * (UINT32) (Height))
57#define BITMAP_LEN_24_BIT(Width, Height) ((UINT32) (Width) * (UINT32) (Height) * 3)
58
59extern EFI_LOCK mHiiDatabaseLock;
60
61//
62// IFR data structure
63//
64// BASE_CR (a, IFR_DEFAULT_VALUE_DATA, Entry) to get the whole structure.
65
66typedef struct {
67 LIST_ENTRY Entry; // Link to VarStorage Default Data
68 UINT16 DefaultId;
69 VARIABLE_STORE_HEADER *VariableStorage;
71
72typedef struct {
73 LIST_ENTRY Entry; // Link to VarStorage
74 EFI_GUID Guid;
75 CHAR16 *Name;
76 UINT16 Size;
77 UINT8 Type;
78 LIST_ENTRY BlockEntry; // Link to its Block array
80
81typedef struct {
82 LIST_ENTRY Entry; // Link to Block array
83 UINT16 Offset;
84 UINT16 Width;
85 UINT16 BitOffset;
86 UINT16 BitWidth;
87 EFI_QUESTION_ID QuestionId;
88 UINT8 OpCode;
89 UINT8 Scope;
90 LIST_ENTRY DefaultValueEntry; // Link to its default value array
91 CHAR16 *Name;
92 BOOLEAN IsBitVar;
94
95//
96// Get default value from IFR data.
97//
98typedef enum {
99 DefaultValueFromDefault = 0, // Get from the minimum or first one when not set default value.
100 DefaultValueFromOtherDefault, // Get default vale from other default when no default(When other
101 // defaults are more than one, use the default with smallest default id).
102 DefaultValueFromFlag, // Get default value from the default flag.
103 DefaultValueFromOpcode // Get default value from default opcode, highest priority.
105
106typedef struct {
107 LIST_ENTRY Entry;
109 BOOLEAN Cleaned; // Whether this value is cleaned
110 // TRUE Cleaned, the value can't be used
111 // FALSE Not cleaned, the value can be used.
112 UINT16 DefaultId;
113 EFI_IFR_TYPE_VALUE Value;
115
116//
117// Storage types
118//
119#define EFI_HII_VARSTORE_BUFFER 0
120#define EFI_HII_VARSTORE_NAME_VALUE 1
121#define EFI_HII_VARSTORE_EFI_VARIABLE 2
122#define EFI_HII_VARSTORE_EFI_VARIABLE_BUFFER 3
123
124//
125// Keyword handler protocol filter type.
126//
127#define EFI_KEYWORD_FILTER_READONY 0x01
128#define EFI_KEYWORD_FILTER_REAWRITE 0x02
129#define EFI_KEYWORD_FILTER_BUFFER 0x10
130#define EFI_KEYWORD_FILTER_NUMERIC 0x20
131#define EFI_KEYWORD_FILTER_NUMERIC_1 0x30
132#define EFI_KEYWORD_FILTER_NUMERIC_2 0x40
133#define EFI_KEYWORD_FILTER_NUMERIC_4 0x50
134#define EFI_KEYWORD_FILTER_NUMERIC_8 0x60
135
136#define HII_FORMSET_STORAGE_SIGNATURE SIGNATURE_32 ('H', 'S', 'T', 'G')
137typedef struct {
139 LIST_ENTRY Entry;
140
141 EFI_HII_HANDLE HiiHandle;
142 EFI_HANDLE DriverHandle;
143
144 UINT8 Type; // EFI_HII_VARSTORE_BUFFER, EFI_HII_VARSTORE_NAME_VALUE, EFI_HII_VARSTORE_EFI_VARIABLE
145 EFI_GUID Guid;
146 CHAR16 *Name;
147 UINT16 Size;
149
150//
151// String Package definitions
152//
153#define HII_STRING_PACKAGE_SIGNATURE SIGNATURE_32 ('h','i','s','p')
156 EFI_HII_STRING_PACKAGE_HDR *StringPkgHdr;
158 LIST_ENTRY StringEntry;
159 LIST_ENTRY FontInfoList; // local font info list
160 UINT8 FontId;
161 EFI_STRING_ID MaxStringId; // record StringId
163
164//
165// Form Package definitions
166//
167#define HII_IFR_PACKAGE_SIGNATURE SIGNATURE_32 ('h','f','r','p')
170 EFI_HII_PACKAGE_HEADER FormPkgHdr;
171 UINT8 *IfrData;
172 LIST_ENTRY IfrEntry;
174
175//
176// Simple Font Package definitions
177//
178#define HII_S_FONT_PACKAGE_SIGNATURE SIGNATURE_32 ('h','s','f','p')
184
185//
186// Font Package definitions
187//
188#define HII_FONT_PACKAGE_SIGNATURE SIGNATURE_32 ('h','i','f','p')
191 EFI_HII_FONT_PACKAGE_HDR *FontPkgHdr;
192 UINT16 Height;
193 UINT16 BaseLine;
195 LIST_ENTRY FontEntry;
196 LIST_ENTRY GlyphInfoList;
198
199#define HII_GLYPH_INFO_SIGNATURE SIGNATURE_32 ('h','g','i','s')
200typedef struct _HII_GLYPH_INFO {
202 LIST_ENTRY Entry;
203 CHAR16 CharId;
204 EFI_HII_GLYPH_INFO Cell;
206
207#define HII_FONT_INFO_SIGNATURE SIGNATURE_32 ('h','l','f','i')
208typedef struct _HII_FONT_INFO {
210 LIST_ENTRY Entry;
211 LIST_ENTRY *GlobalEntry;
212 UINT8 FontId;
214
215#define HII_GLOBAL_FONT_INFO_SIGNATURE SIGNATURE_32 ('h','g','f','i')
223
224//
225// Image Package definitions
226//
227
228#define HII_PIXEL_MASK 0x80
229
231 EFI_HII_IMAGE_PACKAGE_HDR ImagePkgHdr;
234 EFI_HII_IMAGE_BLOCK *ImageBlock;
237
238//
239// Keyboard Layout Package definitions
240//
241#define HII_KB_LAYOUT_PACKAGE_SIGNATURE SIGNATURE_32 ('h','k','l','p')
247
248//
249// Guid Package definitions
250//
251#define HII_GUID_PACKAGE_SIGNATURE SIGNATURE_32 ('h','i','g','p')
257
258//
259// A package list can contain only one or less than one device path package.
260// This rule also applies to image package since ImageId can not be duplicate.
261//
273
274#define HII_HANDLE_SIGNATURE SIGNATURE_32 ('h','i','h','l')
275
276typedef struct {
278 LIST_ENTRY Handle;
279 UINTN Key;
280} HII_HANDLE;
281
282#define HII_DATABASE_RECORD_SIGNATURE SIGNATURE_32 ('h','i','d','r')
283
291
292#define HII_DATABASE_NOTIFY_SIGNATURE SIGNATURE_32 ('h','i','d','n')
293
294typedef struct _HII_DATABASE_NOTIFY {
296 EFI_HANDLE NotifyHandle;
298 EFI_GUID *PackageGuid;
299 EFI_HII_DATABASE_NOTIFY PackageNotifyFn;
300 EFI_HII_DATABASE_NOTIFY_TYPE NotifyType;
303
304#define HII_DATABASE_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('H', 'i', 'D', 'p')
305
308 LIST_ENTRY DatabaseList;
310 EFI_HII_FONT_PROTOCOL HiiFont;
311 EFI_HII_IMAGE_PROTOCOL HiiImage;
312 EFI_HII_IMAGE_EX_PROTOCOL HiiImageEx;
313 EFI_HII_STRING_PROTOCOL HiiString;
314 EFI_HII_DATABASE_PROTOCOL HiiDatabase;
315 EFI_HII_CONFIG_ROUTING_PROTOCOL ConfigRouting;
316 EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL ConfigKeywordHandler;
317 LIST_ENTRY HiiHandleList;
319 LIST_ENTRY FontInfoList; // global font info list
320 UINTN Attribute; // default system color
322 EFI_HII_KEYBOARD_LAYOUT *CurrentLayout;
324
325#define HII_FONT_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
326 CR (a, \
327 HII_DATABASE_PRIVATE_DATA, \
328 HiiFont, \
329 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
330 )
331
332#define HII_IMAGE_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
333 CR (a, \
334 HII_DATABASE_PRIVATE_DATA, \
335 HiiImage, \
336 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
337 )
338
339#define HII_IMAGE_EX_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
340 CR (a, \
341 HII_DATABASE_PRIVATE_DATA, \
342 HiiImageEx, \
343 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
344 )
345
346#define HII_STRING_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
347 CR (a, \
348 HII_DATABASE_PRIVATE_DATA, \
349 HiiString, \
350 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
351 )
352
353#define HII_DATABASE_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
354 CR (a, \
355 HII_DATABASE_PRIVATE_DATA, \
356 HiiDatabase, \
357 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
358 )
359
360#define CONFIG_ROUTING_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
361 CR (a, \
362 HII_DATABASE_PRIVATE_DATA, \
363 ConfigRouting, \
364 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
365 )
366
367#define CONFIG_KEYWORD_HANDLER_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
368 CR (a, \
369 HII_DATABASE_PRIVATE_DATA, \
370 ConfigKeywordHandler, \
371 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
372 )
373
374//
375// Internal function prototypes.
376//
377
400VOID
402 IN CONST EFI_STRING String,
403 IN UINTN BufferLen,
404 IN VOID *Buffer,
405 IN UINT8 Flag,
406 OUT EFI_STRING *SubStr
407 );
408
418BOOLEAN
420 EFI_HII_HANDLE Handle
421 );
422
445BOOLEAN
447 IN HII_DATABASE_PRIVATE_DATA *Private,
448 IN EFI_FONT_INFO *FontInfo,
449 IN EFI_FONT_INFO_MASK *FontInfoMask, OPTIONAL
450 IN EFI_FONT_HANDLE FontHandle, OPTIONAL
451 OUT HII_GLOBAL_FONT_INFO **GlobalFontInfo OPTIONAL
452 );
453
469EFI_STATUS
471 IN HII_DATABASE_PRIVATE_DATA *Private,
472 IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,
473 IN VOID *PackageInstance,
474 IN UINT8 PackageType,
475 IN EFI_HII_HANDLE Handle
476 )
477;
478
494EFI_STATUS
496 IN HII_DATABASE_PRIVATE_DATA *Private,
497 OUT EFI_FONT_DISPLAY_INFO **FontInfo,
498 OUT UINTN *FontInfoSize OPTIONAL
499 );
500
527EFI_STATUS
529 IN HII_DATABASE_PRIVATE_DATA *Private,
530 IN HII_STRING_PACKAGE_INSTANCE *StringPackage,
531 IN EFI_STRING_ID StringId,
532 OUT UINT8 *BlockType, OPTIONAL
533 OUT UINT8 **StringBlockAddr, OPTIONAL
534 OUT UINTN *StringTextOffset, OPTIONAL
535 OUT EFI_STRING_ID *LastStringId, OPTIONAL
536 OUT EFI_STRING_ID *StartStringId OPTIONAL
537 );
538
560EFI_STATUS
562 IN HII_FONT_PACKAGE_INSTANCE *FontPackage,
563 IN CHAR16 CharValue,
564 OUT UINT8 **GlyphBuffer, OPTIONAL
565 OUT EFI_HII_GLYPH_INFO *Cell, OPTIONAL
566 OUT UINTN *GlyphBufferLen OPTIONAL
567 );
568
586EFI_STATUS
588 IN HII_DATABASE_PRIVATE_DATA *Private,
589 IN EFI_HII_HANDLE Handle,
591 IN UINTN UsedSize,
592 IN UINTN BufferSize,
593 IN OUT VOID *Buffer,
594 IN OUT UINTN *ResultSize
595 );
596
597//
598// EFI_HII_FONT_PROTOCOL protocol interfaces
599//
600
655EFI_STATUS
656EFIAPI
658 IN CONST EFI_HII_FONT_PROTOCOL *This,
659 IN EFI_HII_OUT_FLAGS Flags,
660 IN CONST EFI_STRING String,
661 IN CONST EFI_FONT_DISPLAY_INFO *StringInfo OPTIONAL,
662 IN OUT EFI_IMAGE_OUTPUT **Blt,
663 IN UINTN BltX,
664 IN UINTN BltY,
665 OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL,
666 OUT UINTN *RowInfoArraySize OPTIONAL,
667 OUT UINTN *ColumnInfoArray OPTIONAL
668 );
669
731EFI_STATUS
732EFIAPI
734 IN CONST EFI_HII_FONT_PROTOCOL *This,
735 IN EFI_HII_OUT_FLAGS Flags,
736 IN EFI_HII_HANDLE PackageList,
737 IN EFI_STRING_ID StringId,
738 IN CONST CHAR8 *Language,
739 IN CONST EFI_FONT_DISPLAY_INFO *StringInfo OPTIONAL,
740 IN OUT EFI_IMAGE_OUTPUT **Blt,
741 IN UINTN BltX,
742 IN UINTN BltY,
743 OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL,
744 OUT UINTN *RowInfoArraySize OPTIONAL,
745 OUT UINTN *ColumnInfoArray OPTIONAL
746 );
747
770EFI_STATUS
771EFIAPI
773 IN CONST EFI_HII_FONT_PROTOCOL *This,
774 IN CHAR16 Char,
775 IN CONST EFI_FONT_DISPLAY_INFO *StringInfo,
776 OUT EFI_IMAGE_OUTPUT **Blt,
777 OUT UINTN *Baseline OPTIONAL
778 );
779
811EFI_STATUS
812EFIAPI
814 IN CONST EFI_HII_FONT_PROTOCOL *This,
815 IN OUT EFI_FONT_HANDLE *FontHandle,
816 IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn, OPTIONAL
817 OUT EFI_FONT_DISPLAY_INFO **StringInfoOut,
818 IN CONST EFI_STRING String OPTIONAL
819 );
820
821//
822// EFI_HII_IMAGE_PROTOCOL interfaces
823//
824
839EFI_HII_IMAGE_BLOCK *
841 IN EFI_HII_IMAGE_BLOCK *ImageBlocks,
842 IN OUT EFI_IMAGE_ID *ImageId
843 );
844
855 IN LIST_ENTRY *Database,
856 IN EFI_HII_HANDLE PackageList
857 );
858
881EFI_STATUS
882IGetImage (
883 IN LIST_ENTRY *Database,
884 IN EFI_HII_HANDLE PackageList,
885 IN EFI_IMAGE_ID ImageId,
886 OUT EFI_IMAGE_INPUT *Image,
887 IN BOOLEAN BitmapOnly
888 );
889
897EFI_HII_IMAGE_DECODER_PROTOCOL *
899 UINT8 BlockType
900 );
901
920EFI_STATUS
921EFIAPI
923 IN CONST EFI_HII_IMAGE_PROTOCOL *This,
924 IN EFI_HII_HANDLE PackageList,
925 OUT EFI_IMAGE_ID *ImageId,
926 IN CONST EFI_IMAGE_INPUT *Image
927 );
928
950EFI_STATUS
951EFIAPI
953 IN CONST EFI_HII_IMAGE_PROTOCOL *This,
954 IN EFI_HII_HANDLE PackageList,
955 IN EFI_IMAGE_ID ImageId,
956 OUT EFI_IMAGE_INPUT *Image
957 );
958
975EFI_STATUS
976EFIAPI
978 IN CONST EFI_HII_IMAGE_PROTOCOL *This,
979 IN EFI_HII_HANDLE PackageList,
980 IN EFI_IMAGE_ID ImageId,
981 IN CONST EFI_IMAGE_INPUT *Image
982 );
983
1013EFI_STATUS
1014EFIAPI
1016 IN CONST EFI_HII_IMAGE_PROTOCOL *This,
1017 IN EFI_HII_DRAW_FLAGS Flags,
1018 IN CONST EFI_IMAGE_INPUT *Image,
1019 IN OUT EFI_IMAGE_OUTPUT **Blt,
1020 IN UINTN BltX,
1021 IN UINTN BltY
1022 );
1023
1058EFI_STATUS
1059EFIAPI
1061 IN CONST EFI_HII_IMAGE_PROTOCOL *This,
1062 IN EFI_HII_DRAW_FLAGS Flags,
1063 IN EFI_HII_HANDLE PackageList,
1064 IN EFI_IMAGE_ID ImageId,
1065 IN OUT EFI_IMAGE_OUTPUT **Blt,
1066 IN UINTN BltX,
1067 IN UINTN BltY
1068 );
1069
1086EFI_STATUS
1087EFIAPI
1089 IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This,
1090 IN EFI_HII_HANDLE PackageList,
1091 OUT EFI_IMAGE_ID *ImageId,
1092 IN CONST EFI_IMAGE_INPUT *Image
1093 );
1094
1120EFI_STATUS
1121EFIAPI
1123 IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This,
1124 IN EFI_HII_HANDLE PackageList,
1125 IN EFI_IMAGE_ID ImageId,
1126 OUT EFI_IMAGE_INPUT *Image
1127 );
1128
1148EFI_STATUS
1149EFIAPI
1151 IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This,
1152 IN EFI_HII_HANDLE PackageList,
1153 IN EFI_IMAGE_ID ImageId,
1154 IN CONST EFI_IMAGE_INPUT *Image
1155 );
1156
1185EFI_STATUS
1186EFIAPI
1188 IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This,
1189 IN EFI_HII_DRAW_FLAGS Flags,
1190 IN CONST EFI_IMAGE_INPUT *Image,
1191 IN OUT EFI_IMAGE_OUTPUT **Blt,
1192 IN UINTN BltX,
1193 IN UINTN BltY
1194 );
1195
1232EFI_STATUS
1233EFIAPI
1235 IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This,
1236 IN EFI_HII_DRAW_FLAGS Flags,
1237 IN EFI_HII_HANDLE PackageList,
1238 IN EFI_IMAGE_ID ImageId,
1239 IN OUT EFI_IMAGE_OUTPUT **Blt,
1240 IN UINTN BltX,
1241 IN UINTN BltY
1242 );
1243
1267EFI_STATUS
1268EFIAPI
1270 IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This,
1271 IN EFI_HII_HANDLE PackageList,
1272 IN EFI_IMAGE_ID ImageId,
1273 OUT EFI_IMAGE_OUTPUT *Image
1274 );
1275
1276//
1277// EFI_HII_STRING_PROTOCOL
1278//
1279
1311EFI_STATUS
1312EFIAPI
1314 IN CONST EFI_HII_STRING_PROTOCOL *This,
1315 IN EFI_HII_HANDLE PackageList,
1316 OUT EFI_STRING_ID *StringId,
1317 IN CONST CHAR8 *Language,
1318 IN CONST CHAR16 *LanguageName, OPTIONAL
1319 IN CONST EFI_STRING String,
1320 IN CONST EFI_FONT_INFO *StringFontInfo OPTIONAL
1321 );
1322
1358EFI_STATUS
1359EFIAPI
1361 IN CONST EFI_HII_STRING_PROTOCOL *This,
1362 IN CONST CHAR8 *Language,
1363 IN EFI_HII_HANDLE PackageList,
1364 IN EFI_STRING_ID StringId,
1365 OUT EFI_STRING String,
1366 IN OUT UINTN *StringSize,
1367 OUT EFI_FONT_INFO **StringFontInfo OPTIONAL
1368 );
1369
1392EFI_STATUS
1393EFIAPI
1395 IN CONST EFI_HII_STRING_PROTOCOL *This,
1396 IN EFI_HII_HANDLE PackageList,
1397 IN EFI_STRING_ID StringId,
1398 IN CONST CHAR8 *Language,
1399 IN CONST EFI_STRING String,
1400 IN CONST EFI_FONT_INFO *StringFontInfo OPTIONAL
1401 );
1402
1426EFI_STATUS
1427EFIAPI
1429 IN CONST EFI_HII_STRING_PROTOCOL *This,
1430 IN EFI_HII_HANDLE PackageList,
1431 IN OUT CHAR8 *Languages,
1432 IN OUT UINTN *LanguagesSize
1433 );
1434
1470EFI_STATUS
1471EFIAPI
1473 IN CONST EFI_HII_STRING_PROTOCOL *This,
1474 IN EFI_HII_HANDLE PackageList,
1475 IN CONST CHAR8 *PrimaryLanguage,
1476 IN OUT CHAR8 *SecondaryLanguages,
1477 IN OUT UINTN *SecondaryLanguagesSize
1478 );
1479
1480//
1481// EFI_HII_DATABASE_PROTOCOL protocol interfaces
1482//
1483
1505EFI_STATUS
1506EFIAPI
1508 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1509 IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList,
1510 IN CONST EFI_HANDLE DriverHandle, OPTIONAL
1511 OUT EFI_HII_HANDLE *Handle
1512 );
1513
1529EFI_STATUS
1530EFIAPI
1532 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1533 IN EFI_HII_HANDLE Handle
1534 );
1535
1554EFI_STATUS
1555EFIAPI
1557 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1558 IN EFI_HII_HANDLE Handle,
1559 IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList
1560 );
1561
1597EFI_STATUS
1598EFIAPI
1600 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1601 IN UINT8 PackageType,
1602 IN CONST EFI_GUID *PackageGuid,
1603 IN OUT UINTN *HandleBufferLength,
1604 OUT EFI_HII_HANDLE *Handle
1605 );
1606
1636EFI_STATUS
1637EFIAPI
1639 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1640 IN EFI_HII_HANDLE Handle,
1641 IN OUT UINTN *BufferSize,
1642 OUT EFI_HII_PACKAGE_LIST_HEADER *Buffer
1643 );
1644
1681EFI_STATUS
1682EFIAPI
1684 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1685 IN UINT8 PackageType,
1686 IN CONST EFI_GUID *PackageGuid,
1687 IN CONST EFI_HII_DATABASE_NOTIFY PackageNotifyFn,
1688 IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,
1689 OUT EFI_HANDLE *NotifyHandle
1690 );
1691
1705EFI_STATUS
1706EFIAPI
1708 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1709 IN EFI_HANDLE NotificationHandle
1710 );
1711
1736EFI_STATUS
1737EFIAPI
1739 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1740 IN OUT UINT16 *KeyGuidBufferLength,
1741 OUT EFI_GUID *KeyGuidBuffer
1742 );
1743
1765EFI_STATUS
1766EFIAPI
1768 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1769 IN CONST EFI_GUID *KeyGuid,
1770 IN OUT UINT16 *KeyboardLayoutLength,
1771 OUT EFI_HII_KEYBOARD_LAYOUT *KeyboardLayout
1772 );
1773
1791EFI_STATUS
1792EFIAPI
1794 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1795 IN CONST EFI_GUID *KeyGuid
1796 );
1797
1814EFI_STATUS
1815EFIAPI
1817 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1818 IN EFI_HII_HANDLE PackageListHandle,
1819 OUT EFI_HANDLE *DriverHandle
1820 );
1821
1822//
1823// EFI_HII_CONFIG_ROUTING_PROTOCOL interfaces
1824//
1825
1865EFI_STATUS
1866EFIAPI
1868 IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
1869 IN CONST EFI_STRING Request,
1870 OUT EFI_STRING *Progress,
1871 OUT EFI_STRING *Results
1872 );
1873
1895EFI_STATUS
1896EFIAPI
1898 IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
1899 OUT EFI_STRING *Results
1900 );
1901
1927EFI_STATUS
1928EFIAPI
1930 IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
1931 IN CONST EFI_STRING Configuration,
1932 OUT EFI_STRING *Progress
1933 );
1934
1974EFI_STATUS
1975EFIAPI
1977 IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
1978 IN CONST EFI_STRING ConfigRequest,
1979 IN CONST UINT8 *Block,
1980 IN CONST UINTN BlockSize,
1981 OUT EFI_STRING *Config,
1982 OUT EFI_STRING *Progress
1983 );
1984
2034EFI_STATUS
2035EFIAPI
2037 IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
2038 IN CONST EFI_STRING ConfigResp,
2039 IN OUT UINT8 *Block,
2040 IN OUT UINTN *BlockSize,
2041 OUT EFI_STRING *Progress
2042 );
2043
2084EFI_STATUS
2085EFIAPI
2087 IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
2088 IN CONST EFI_STRING Configuration,
2089 IN CONST EFI_GUID *Guid,
2090 IN CONST EFI_STRING Name,
2091 IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
2092 IN CONST UINT16 *AltCfgId,
2093 OUT EFI_STRING *AltCfgResp
2094 );
2095
2155EFI_STATUS
2156EFIAPI
2158 IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This,
2159 IN CONST EFI_STRING KeywordString,
2160 OUT EFI_STRING *Progress,
2161 OUT UINT32 *ProgressErr
2162 );
2163
2233EFI_STATUS
2234EFIAPI
2236 IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This,
2237 IN CONST EFI_STRING NameSpaceId, OPTIONAL
2238 IN CONST EFI_STRING KeywordString, OPTIONAL
2239 OUT EFI_STRING *Progress,
2240 OUT UINT32 *ProgressErr,
2241 OUT EFI_STRING *Results
2242 );
2243
2254BOOLEAN
2256 IN CHAR8 *Language1,
2257 IN CHAR8 *Language2
2258 )
2259;
2260
2279CHAR8 *
2281 IN EFI_HII_HANDLE HiiHandle
2282 );
2283
2293EFI_STATUS
2295 IN CONST EFI_HII_DATABASE_PROTOCOL *This
2296 );
2297
2307EFI_STATUS
2309 IN CONST EFI_HII_DATABASE_PROTOCOL *This
2310 );
2311
2312//
2313// Global variables
2314//
2315extern EFI_EVENT gHiiKeyboardLayoutChanged;
2316extern BOOLEAN gExportAfterReadyToBoot;
2317
2318#endif
UINT16 BlockSize
Definition Apm.h:32
BOOLEAN gExportAfterReadyToBoot
EFI_HII_IMAGE_BLOCK * GetImageIdOrAddress(IN EFI_HII_IMAGE_BLOCK *ImageBlocks, IN OUT EFI_IMAGE_ID *ImageId)
Definition Image.c:29
EFI_STATUS IGetImage(IN LIST_ENTRY *Database, IN EFI_HII_HANDLE PackageList, IN EFI_IMAGE_ID ImageId, OUT EFI_IMAGE_INPUT *Image, IN BOOLEAN BitmapOnly)
Definition Image.c:832
EFI_STATUS EFIAPI HiiGetGlyph(IN CONST EFI_HII_FONT_PROTOCOL *This, IN CHAR16 Char, IN CONST EFI_FONT_DISPLAY_INFO *StringInfo, OUT EFI_IMAGE_OUTPUT **Blt, OUT UINTN *Baseline OPTIONAL)
Definition Font.c:2638
EFI_STATUS HiiGetConfigRespInfo(IN CONST EFI_HII_DATABASE_PROTOCOL *This)
Definition Database.c:3403
EFI_STATUS EFIAPI HiiGetImageEx(IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This, IN EFI_HII_HANDLE PackageList, IN EFI_IMAGE_ID ImageId, OUT EFI_IMAGE_INPUT *Image)
Definition ImageEx.c:70
CHAR8 * GetSupportedLanguages(IN EFI_HII_HANDLE HiiHandle)
struct _HII_STRING_PACKAGE_INSTANCE HII_STRING_PACKAGE_INSTANCE
struct _HII_IFR_PACKAGE_INSTANCE HII_IFR_PACKAGE_INSTANCE
EFI_STATUS FindStringBlock(IN HII_DATABASE_PRIVATE_DATA *Private, IN HII_STRING_PACKAGE_INSTANCE *StringPackage, IN EFI_STRING_ID StringId, OUT UINT8 *BlockType, OPTIONAL OUT UINT8 **StringBlockAddr, OPTIONAL OUT UINTN *StringTextOffset, OPTIONAL OUT EFI_STRING_ID *LastStringId, OPTIONAL OUT EFI_STRING_ID *StartStringId OPTIONAL)
Definition String.c:255
EFI_STATUS EFIAPI HiiConfigRoutingExportConfig(IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This, OUT EFI_STRING *Results)
EFI_STATUS EFIAPI HiiRegisterPackageNotify(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN UINT8 PackageType, IN CONST EFI_GUID *PackageGuid, IN CONST EFI_HII_DATABASE_NOTIFY PackageNotifyFn, IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType, OUT EFI_HANDLE *NotifyHandle)
Definition Database.c:4249
EFI_STATUS EFIAPI HiiGetPackageListHandle(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN EFI_HII_HANDLE PackageListHandle, OUT EFI_HANDLE *DriverHandle)
Definition Database.c:4695
EFI_STATUS EFIAPI HiiDrawImageIdEx(IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This, IN EFI_HII_DRAW_FLAGS Flags, IN EFI_HII_HANDLE PackageList, IN EFI_IMAGE_ID ImageId, IN OUT EFI_IMAGE_OUTPUT **Blt, IN UINTN BltX, IN UINTN BltY)
Definition ImageEx.c:200
EFI_STATUS GetSystemFont(IN HII_DATABASE_PRIVATE_DATA *Private, OUT EFI_FONT_DISPLAY_INFO **FontInfo, OUT UINTN *FontInfoSize OPTIONAL)
Definition Font.c:993
HII_DATABASE_PACKAGE_LIST_INSTANCE * LocatePackageList(IN LIST_ENTRY *Database, IN EFI_HII_HANDLE PackageList)
Definition Image.c:575
EFI_STATUS EFIAPI HiiGetAltCfg(IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This, IN CONST EFI_STRING Configuration, IN CONST EFI_GUID *Guid, IN CONST EFI_STRING Name, IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN CONST UINT16 *AltCfgId, OUT EFI_STRING *AltCfgResp)
EFI_STATUS EFIAPI InternalHiiGetString(IN CONST EFI_HII_STRING_PROTOCOL *This, IN CONST CHAR8 *Language, IN EFI_HII_HANDLE PackageList, IN EFI_STRING_ID StringId, OUT EFI_STRING String, IN OUT UINTN *StringSize, OUT EFI_FONT_INFO **StringFontInfo OPTIONAL)
Definition String.c:1644
EFI_STATUS ExportFormPackages(IN HII_DATABASE_PRIVATE_DATA *Private, IN EFI_HII_HANDLE Handle, IN HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList, IN UINTN UsedSize, IN UINTN BufferSize, IN OUT VOID *Buffer, IN OUT UINTN *ResultSize)
Definition Database.c:1197
struct _HII_IMAGE_PACKAGE_INSTANCE HII_IMAGE_PACKAGE_INSTANCE
EFI_STATUS EFIAPI HiiGetSecondaryLanguages(IN CONST EFI_HII_STRING_PROTOCOL *This, IN EFI_HII_HANDLE PackageList, IN CONST CHAR8 *PrimaryLanguage, IN OUT CHAR8 *SecondaryLanguages, IN OUT UINTN *SecondaryLanguagesSize)
Definition String.c:1954
struct _HII_DATABASE_PACKAGE_LIST_INSTANCE HII_DATABASE_PACKAGE_LIST_INSTANCE
EFI_STATUS EFIAPI HiiDrawImage(IN CONST EFI_HII_IMAGE_PROTOCOL *This, IN EFI_HII_DRAW_FLAGS Flags, IN CONST EFI_IMAGE_INPUT *Image, IN OUT EFI_IMAGE_OUTPUT **Blt, IN UINTN BltX, IN UINTN BltY)
Definition Image.c:1274
VOID GenerateSubStr(IN CONST EFI_STRING String, IN UINTN BufferLen, IN VOID *Buffer, IN UINT8 Flag, OUT EFI_STRING *SubStr)
EFI_STATUS HiiGetDatabaseInfo(IN CONST EFI_HII_DATABASE_PROTOCOL *This)
Definition Database.c:3467
EFI_STATUS EFIAPI HiiConfigRoutingRouteConfig(IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
EFI_STATUS EFIAPI HiiGetLanguages(IN CONST EFI_HII_STRING_PROTOCOL *This, IN EFI_HII_HANDLE PackageList, IN OUT CHAR8 *Languages, IN OUT UINTN *LanguagesSize)
Definition String.c:1847
EFI_STATUS EFIAPI HiiSetImageEx(IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This, IN EFI_HII_HANDLE PackageList, IN EFI_IMAGE_ID ImageId, IN CONST EFI_IMAGE_INPUT *Image)
Definition ImageEx.c:104
BOOLEAN IsHiiHandleValid(EFI_HII_HANDLE Handle)
Definition Database.c:123
EFI_STATUS EFIAPI HiiStringToImage(IN CONST EFI_HII_FONT_PROTOCOL *This, IN EFI_HII_OUT_FLAGS Flags, IN CONST EFI_STRING String, IN CONST EFI_FONT_DISPLAY_INFO *StringInfo OPTIONAL, IN OUT EFI_IMAGE_OUTPUT **Blt, IN UINTN BltX, IN UINTN BltY, OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL, OUT UINTN *RowInfoArraySize OPTIONAL, OUT UINTN *ColumnInfoArray OPTIONAL)
Definition Font.c:1624
EFI_STATUS EFIAPI HiiGetKeyboardLayout(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN CONST EFI_GUID *KeyGuid, IN OUT UINT16 *KeyboardLayoutLength, OUT EFI_HII_KEYBOARD_LAYOUT *KeyboardLayout)
Definition Database.c:4512
EFI_STATUS EFIAPI EfiConfigKeywordHandlerGetData(IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This, IN CONST EFI_STRING NameSpaceId, OPTIONAL IN CONST EFI_STRING KeywordString, OPTIONAL OUT EFI_STRING *Progress, OUT UINT32 *ProgressErr, OUT EFI_STRING *Results)
struct _HII_FONT_INFO HII_FONT_INFO
EFI_STATUS EFIAPI HiiFindKeyboardLayouts(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN OUT UINT16 *KeyGuidBufferLength, OUT EFI_GUID *KeyGuidBuffer)
Definition Database.c:4405
EFI_STATUS EFIAPI HiiExportPackageLists(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN EFI_HII_HANDLE Handle, IN OUT UINTN *BufferSize, OUT EFI_HII_PACKAGE_LIST_HEADER *Buffer)
Definition Database.c:4137
struct _HII_SIMPLE_FONT_PACKAGE_INSTANCE HII_SIMPLE_FONT_PACKAGE_INSTANCE
EFI_STATUS EFIAPI InternalHiiSetString(IN CONST EFI_HII_STRING_PROTOCOL *This, IN EFI_HII_HANDLE PackageList, IN EFI_STRING_ID StringId, IN CONST CHAR8 *Language, IN CONST EFI_STRING String, IN CONST EFI_FONT_INFO *StringFontInfo OPTIONAL)
Definition String.c:1746
BOOLEAN IsFontInfoExisted(IN HII_DATABASE_PRIVATE_DATA *Private, IN EFI_FONT_INFO *FontInfo, IN EFI_FONT_INFO_MASK *FontInfoMask, OPTIONAL IN EFI_FONT_HANDLE FontHandle, OPTIONAL OUT HII_GLOBAL_FONT_INFO **GlobalFontInfo OPTIONAL)
Definition Font.c:1175
EFI_STATUS EFIAPI HiiConfigRoutingExtractConfig(IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This, IN CONST EFI_STRING Request, OUT EFI_STRING *Progress, OUT EFI_STRING *Results)
EFI_STATUS EFIAPI HiiSetKeyboardLayout(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN CONST EFI_GUID *KeyGuid)
Definition Database.c:4614
EFI_STATUS EFIAPI HiiUpdatePackageList(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN EFI_HII_HANDLE Handle, IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList)
Definition Database.c:3816
EFI_STATUS FindGlyphBlock(IN HII_FONT_PACKAGE_INSTANCE *FontPackage, IN CHAR16 CharValue, OUT UINT8 **GlyphBuffer, OPTIONAL OUT EFI_HII_GLYPH_INFO *Cell, OPTIONAL OUT UINTN *GlyphBufferLen OPTIONAL)
Definition Font.c:658
EFI_STATUS EFIAPI HiiNewPackageList(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList, IN CONST EFI_HANDLE DriverHandle, OPTIONAL OUT EFI_HII_HANDLE *Handle)
Definition Database.c:3540
EFI_STATUS EFIAPI HiiDrawImageId(IN CONST EFI_HII_IMAGE_PROTOCOL *This, IN EFI_HII_DRAW_FLAGS Flags, IN EFI_HII_HANDLE PackageList, IN EFI_IMAGE_ID ImageId, IN OUT EFI_IMAGE_OUTPUT **Blt, IN UINTN BltX, IN UINTN BltY)
Definition Image.c:1546
struct _HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE HII_KEYBOARD_LAYOUT_PACKAGE_INSTANCE
EFI_STATUS EFIAPI EfiConfigKeywordHandlerSetData(IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This, IN CONST EFI_STRING KeywordString, OUT EFI_STRING *Progress, OUT UINT32 *ProgressErr)
EFI_STATUS EFIAPI HiiBlockToConfig(IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This, IN CONST EFI_STRING ConfigRequest, IN CONST UINT8 *Block, IN CONST UINTN BlockSize, OUT EFI_STRING *Config, OUT EFI_STRING *Progress)
EFI_STATUS InvokeRegisteredFunction(IN HII_DATABASE_PRIVATE_DATA *Private, IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType, IN VOID *PackageInstance, IN UINT8 PackageType, IN EFI_HII_HANDLE Handle)
Definition Database.c:160
EFI_STATUS EFIAPI HiiNewString(IN CONST EFI_HII_STRING_PROTOCOL *This, IN EFI_HII_HANDLE PackageList, OUT EFI_STRING_ID *StringId, IN CONST CHAR8 *Language, IN CONST CHAR16 *LanguageName, OPTIONAL IN CONST EFI_STRING String, IN CONST EFI_FONT_INFO *StringFontInfo OPTIONAL)
Definition String.c:1156
EFI_STATUS EFIAPI HiiNewImage(IN CONST EFI_HII_IMAGE_PROTOCOL *This, IN EFI_HII_HANDLE PackageList, OUT EFI_IMAGE_ID *ImageId, IN CONST EFI_IMAGE_INPUT *Image)
Definition Image.c:620
EFI_STATUS EFIAPI HiiListPackageLists(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN UINT8 PackageType, IN CONST EFI_GUID *PackageGuid, IN OUT UINTN *HandleBufferLength, OUT EFI_HII_HANDLE *Handle)
Definition Database.c:3970
EFI_STATUS EFIAPI HiiGetImageInfo(IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This, IN EFI_HII_HANDLE PackageList, IN EFI_IMAGE_ID ImageId, OUT EFI_IMAGE_OUTPUT *Image)
Definition ImageEx.c:326
EFI_EVENT gHiiKeyboardLayoutChanged
struct _HII_GUID_PACKAGE_INSTANCE HII_GUID_PACKAGE_INSTANCE
EFI_STATUS EFIAPI HiiNewImageEx(IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This, IN EFI_HII_HANDLE PackageList, OUT EFI_IMAGE_ID *ImageId, IN CONST EFI_IMAGE_INPUT *Image)
Definition ImageEx.c:30
EFI_STATUS EFIAPI HiiStringIdToImage(IN CONST EFI_HII_FONT_PROTOCOL *This, IN EFI_HII_OUT_FLAGS Flags, IN EFI_HII_HANDLE PackageList, IN EFI_STRING_ID StringId, IN CONST CHAR8 *Language, IN CONST EFI_FONT_DISPLAY_INFO *StringInfo OPTIONAL, IN OUT EFI_IMAGE_OUTPUT **Blt, IN UINTN BltX, IN UINTN BltY, OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL, OUT UINTN *RowInfoArraySize OPTIONAL, OUT UINTN *ColumnInfoArray OPTIONAL)
Definition Font.c:2399
struct _HII_GLYPH_INFO HII_GLYPH_INFO
struct _HII_GLOBAL_FONT_INFO HII_GLOBAL_FONT_INFO
BOOLEAN HiiCompareLanguage(IN CHAR8 *Language1, IN CHAR8 *Language2)
Definition String.c:2071
struct _HII_DATABASE_NOTIFY HII_DATABASE_NOTIFY
struct _HII_DATABASE_PRIVATE_DATA HII_DATABASE_PRIVATE_DATA
struct _HII_DATABASE_RECORD HII_DATABASE_RECORD
EFI_HII_IMAGE_DECODER_PROTOCOL * LocateHiiImageDecoder(UINT8 BlockType)
Definition ImageEx.c:247
EFI_STATUS EFIAPI HiiGetImage(IN CONST EFI_HII_IMAGE_PROTOCOL *This, IN EFI_HII_HANDLE PackageList, IN EFI_IMAGE_ID ImageId, OUT EFI_IMAGE_INPUT *Image)
Definition Image.c:1048
EFI_STATUS EFIAPI HiiDrawImageEx(IN CONST EFI_HII_IMAGE_EX_PROTOCOL *This, IN EFI_HII_DRAW_FLAGS Flags, IN CONST EFI_IMAGE_INPUT *Image, IN OUT EFI_IMAGE_OUTPUT **Blt, IN UINTN BltX, IN UINTN BltY)
Definition ImageEx.c:147
EFI_STATUS EFIAPI HiiRemovePackageList(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN EFI_HII_HANDLE Handle)
Definition Database.c:3661
EFI_STATUS EFIAPI HiiGetFontInfo(IN CONST EFI_HII_FONT_PROTOCOL *This, IN OUT EFI_FONT_HANDLE *FontHandle, IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn, OPTIONAL OUT EFI_FONT_DISPLAY_INFO **StringInfoOut, IN CONST EFI_STRING String OPTIONAL)
Definition Font.c:2832
EFI_STATUS EFIAPI HiiConfigToBlock(IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This, IN CONST EFI_STRING ConfigResp, IN OUT UINT8 *Block, IN OUT UINTN *BlockSize, OUT EFI_STRING *Progress)
EFI_LOCK mHiiDatabaseLock
Definition Database.c:25
DEFAULT_VALUE_TYPE
Definition HiiDatabase.h:98
@ DefaultValueFromFlag
@ DefaultValueFromDefault
Definition HiiDatabase.h:99
@ DefaultValueFromOpcode
@ DefaultValueFromOtherDefault
EFI_STATUS EFIAPI HiiSetImage(IN CONST EFI_HII_IMAGE_PROTOCOL *This, IN EFI_HII_HANDLE PackageList, IN EFI_IMAGE_ID ImageId, IN CONST EFI_IMAGE_INPUT *Image)
Definition Image.c:1079
struct _HII_FONT_PACKAGE_INSTANCE HII_FONT_PACKAGE_INSTANCE
EFI_STATUS EFIAPI HiiUnregisterPackageNotify(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN EFI_HANDLE NotificationHandle)
Definition Database.c:4324
OC_TYPING_BUFFER_ENTRY Buffer[OC_TYPING_BUFFER_SIZE]
Definition OcTypingLib.h:42
APPLE_EVENT_HANDLE Handle
Definition OcTypingLib.h:45
EFI_HII_DATABASE_NOTIFY_TYPE NotifyType
LIST_ENTRY DatabaseNotifyEntry
EFI_HII_DATABASE_NOTIFY PackageNotifyFn
EFI_HANDLE NotifyHandle
HII_IMAGE_PACKAGE_INSTANCE * ImagePkg
EFI_HII_PACKAGE_LIST_HEADER PackageListHdr
EFI_HII_KEYBOARD_LAYOUT * CurrentLayout
EFI_HII_CONFIG_ROUTING_PROTOCOL ConfigRouting
EFI_HII_FONT_PROTOCOL HiiFont
EFI_HII_DATABASE_PROTOCOL HiiDatabase
EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL ConfigKeywordHandler
EFI_HII_IMAGE_PROTOCOL HiiImage
EFI_HII_IMAGE_EX_PROTOCOL HiiImageEx
EFI_HII_STRING_PROTOCOL HiiString
HII_DATABASE_PACKAGE_LIST_INSTANCE * PackageList
EFI_HANDLE DriverHandle
LIST_ENTRY DatabaseEntry
EFI_HII_HANDLE Handle
LIST_ENTRY Entry
LIST_ENTRY * GlobalEntry
EFI_HII_FONT_PACKAGE_HDR * FontPkgHdr
EFI_FONT_INFO * FontInfo
HII_FONT_PACKAGE_INSTANCE * FontPackage
LIST_ENTRY Entry
EFI_HII_GLYPH_INFO Cell
EFI_HII_PACKAGE_HEADER FormPkgHdr
EFI_HII_IMAGE_PACKAGE_HDR ImagePkgHdr
EFI_HII_IMAGE_BLOCK * ImageBlock
EFI_HII_SIMPLE_FONT_PACKAGE_HDR * SimpleFontPkgHdr
EFI_HII_STRING_PACKAGE_HDR * StringPkgHdr
EFI_HII_HANDLE HiiHandle
EFI_HANDLE DriverHandle
LIST_ENTRY Handle
UINTN Signature
BOOLEAN IsBitVar
Definition HiiDatabase.h:92
CHAR16 * Name
Definition HiiDatabase.h:91
LIST_ENTRY DefaultValueEntry
Definition HiiDatabase.h:90
EFI_QUESTION_ID QuestionId
Definition HiiDatabase.h:87
LIST_ENTRY Entry
Definition HiiDatabase.h:82
EFI_IFR_TYPE_VALUE Value
LIST_ENTRY Entry
DEFAULT_VALUE_TYPE Type
LIST_ENTRY BlockEntry
Definition HiiDatabase.h:78
VARIABLE_STORE_HEADER * VariableStorage
Definition HiiDatabase.h:69