9#ifndef __HII_DATABASE_PRIVATE_H__
10#define __HII_DATABASE_PRIVATE_H__
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>
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>
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>
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
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)
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
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
136#define HII_FORMSET_STORAGE_SIGNATURE SIGNATURE_32 ('H', 'S', 'T', 'G')
153#define HII_STRING_PACKAGE_SIGNATURE SIGNATURE_32 ('h','i','s','p')
167#define HII_IFR_PACKAGE_SIGNATURE SIGNATURE_32 ('h','f','r','p')
178#define HII_S_FONT_PACKAGE_SIGNATURE SIGNATURE_32 ('h','s','f','p')
188#define HII_FONT_PACKAGE_SIGNATURE SIGNATURE_32 ('h','i','f','p')
199#define HII_GLYPH_INFO_SIGNATURE SIGNATURE_32 ('h','g','i','s')
207#define HII_FONT_INFO_SIGNATURE SIGNATURE_32 ('h','l','f','i')
215#define HII_GLOBAL_FONT_INFO_SIGNATURE SIGNATURE_32 ('h','g','f','i')
228#define HII_PIXEL_MASK 0x80
241#define HII_KB_LAYOUT_PACKAGE_SIGNATURE SIGNATURE_32 ('h','k','l','p')
251#define HII_GUID_PACKAGE_SIGNATURE SIGNATURE_32 ('h','i','g','p')
274#define HII_HANDLE_SIGNATURE SIGNATURE_32 ('h','i','h','l')
282#define HII_DATABASE_RECORD_SIGNATURE SIGNATURE_32 ('h','i','d','r')
292#define HII_DATABASE_NOTIFY_SIGNATURE SIGNATURE_32 ('h','i','d','n')
304#define HII_DATABASE_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('H', 'i', 'D', 'p')
325#define HII_FONT_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
327 HII_DATABASE_PRIVATE_DATA, \
329 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
332#define HII_IMAGE_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
334 HII_DATABASE_PRIVATE_DATA, \
336 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
339#define HII_IMAGE_EX_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
341 HII_DATABASE_PRIVATE_DATA, \
343 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
346#define HII_STRING_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
348 HII_DATABASE_PRIVATE_DATA, \
350 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
353#define HII_DATABASE_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
355 HII_DATABASE_PRIVATE_DATA, \
357 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
360#define CONFIG_ROUTING_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
362 HII_DATABASE_PRIVATE_DATA, \
364 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
367#define CONFIG_KEYWORD_HANDLER_DATABASE_PRIVATE_DATA_FROM_THIS(a) \
369 HII_DATABASE_PRIVATE_DATA, \
370 ConfigKeywordHandler, \
371 HII_DATABASE_PRIVATE_DATA_SIGNATURE \
402 IN CONST EFI_STRING String,
406 OUT EFI_STRING *SubStr
448 IN EFI_FONT_INFO *FontInfo,
449 IN EFI_FONT_INFO_MASK *FontInfoMask, OPTIONAL
450 IN EFI_FONT_HANDLE FontHandle, OPTIONAL
472 IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,
473 IN VOID *PackageInstance,
474 IN UINT8 PackageType,
497 OUT EFI_FONT_DISPLAY_INFO **FontInfo,
498 OUT UINTN *FontInfoSize OPTIONAL
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
564 OUT UINT8 **GlyphBuffer, OPTIONAL
565 OUT EFI_HII_GLYPH_INFO *Cell, OPTIONAL
566 OUT UINTN *GlyphBufferLen OPTIONAL
594 IN OUT UINTN *ResultSize
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,
665 OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL,
666 OUT UINTN *RowInfoArraySize OPTIONAL,
667 OUT UINTN *ColumnInfoArray OPTIONAL
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,
743 OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL,
744 OUT UINTN *RowInfoArraySize OPTIONAL,
745 OUT UINTN *ColumnInfoArray OPTIONAL
773 IN CONST EFI_HII_FONT_PROTOCOL *This,
775 IN CONST EFI_FONT_DISPLAY_INFO *StringInfo,
776 OUT EFI_IMAGE_OUTPUT **Blt,
777 OUT UINTN *Baseline OPTIONAL
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
841 IN EFI_HII_IMAGE_BLOCK *ImageBlocks,
842 IN OUT EFI_IMAGE_ID *ImageId
855 IN LIST_ENTRY *Database,
856 IN EFI_HII_HANDLE PackageList
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
897EFI_HII_IMAGE_DECODER_PROTOCOL *
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
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
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
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,
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,
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
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
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
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,
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,
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
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
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
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
1429 IN CONST EFI_HII_STRING_PROTOCOL *This,
1430 IN EFI_HII_HANDLE PackageList,
1431 IN OUT CHAR8 *Languages,
1432 IN OUT UINTN *LanguagesSize
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
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
1532 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1557 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1558 IN EFI_HII_HANDLE
Handle,
1559 IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList
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
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
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
1708 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1709 IN EFI_HANDLE NotificationHandle
1739 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1740 IN OUT UINT16 *KeyGuidBufferLength,
1741 OUT EFI_GUID *KeyGuidBuffer
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
1794 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1795 IN CONST EFI_GUID *KeyGuid
1817 IN CONST EFI_HII_DATABASE_PROTOCOL *This,
1818 IN EFI_HII_HANDLE PackageListHandle,
1819 OUT EFI_HANDLE *DriverHandle
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
1898 IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
1899 OUT EFI_STRING *Results
1930 IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
1931 IN CONST EFI_STRING Configuration,
1932 OUT EFI_STRING *Progress
1977 IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
1978 IN CONST EFI_STRING ConfigRequest,
1979 IN CONST UINT8 *Block,
1981 OUT EFI_STRING *Config,
1982 OUT EFI_STRING *Progress
2037 IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,
2038 IN CONST EFI_STRING ConfigResp,
2039 IN OUT UINT8 *Block,
2041 OUT EFI_STRING *Progress
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
2158 IN EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *This,
2159 IN CONST EFI_STRING KeywordString,
2160 OUT EFI_STRING *Progress,
2161 OUT UINT32 *ProgressErr
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
2256 IN CHAR8 *Language1,
2281 IN EFI_HII_HANDLE HiiHandle
2295 IN CONST EFI_HII_DATABASE_PROTOCOL *This
2309 IN CONST EFI_HII_DATABASE_PROTOCOL *This
BOOLEAN gExportAfterReadyToBoot
EFI_HII_IMAGE_BLOCK * GetImageIdOrAddress(IN EFI_HII_IMAGE_BLOCK *ImageBlocks, IN OUT EFI_IMAGE_ID *ImageId)
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)
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)
EFI_STATUS HiiGetConfigRespInfo(IN CONST EFI_HII_DATABASE_PROTOCOL *This)
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)
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)
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)
EFI_STATUS EFIAPI HiiGetPackageListHandle(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN EFI_HII_HANDLE PackageListHandle, OUT EFI_HANDLE *DriverHandle)
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)
EFI_STATUS GetSystemFont(IN HII_DATABASE_PRIVATE_DATA *Private, OUT EFI_FONT_DISPLAY_INFO **FontInfo, OUT UINTN *FontInfoSize OPTIONAL)
HII_DATABASE_PACKAGE_LIST_INSTANCE * LocatePackageList(IN LIST_ENTRY *Database, IN EFI_HII_HANDLE PackageList)
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)
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)
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)
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)
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)
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)
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)
BOOLEAN IsHiiHandleValid(EFI_HII_HANDLE Handle)
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)
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)
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)
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)
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)
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)
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)
EFI_STATUS EFIAPI HiiUpdatePackageList(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN EFI_HII_HANDLE Handle, IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
struct _HII_GLYPH_INFO HII_GLYPH_INFO
struct _HII_GLOBAL_FONT_INFO HII_GLOBAL_FONT_INFO
BOOLEAN HiiCompareLanguage(IN CHAR8 *Language1, IN CHAR8 *Language2)
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)
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)
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)
EFI_STATUS EFIAPI HiiRemovePackageList(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN EFI_HII_HANDLE Handle)
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)
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
@ DefaultValueFromDefault
@ 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)
struct _HII_FONT_PACKAGE_INSTANCE HII_FONT_PACKAGE_INSTANCE
EFI_STATUS EFIAPI HiiUnregisterPackageNotify(IN CONST EFI_HII_DATABASE_PROTOCOL *This, IN EFI_HANDLE NotificationHandle)
OC_TYPING_BUFFER_ENTRY Buffer[OC_TYPING_BUFFER_SIZE]
APPLE_EVENT_HANDLE Handle
EFI_HII_DATABASE_NOTIFY_TYPE NotifyType
LIST_ENTRY DatabaseNotifyEntry
EFI_HII_DATABASE_NOTIFY PackageNotifyFn
HII_IMAGE_PACKAGE_INSTANCE * ImagePkg
EFI_HII_PACKAGE_LIST_HEADER PackageListHdr
LIST_ENTRY KeyboardLayoutHdr
LIST_ENTRY SimpleFontPkgHdr
EFI_HII_KEYBOARD_LAYOUT * CurrentLayout
LIST_ENTRY DatabaseNotifyList
EFI_HII_CONFIG_ROUTING_PROTOCOL ConfigRouting
EFI_HII_FONT_PROTOCOL HiiFont
EFI_GUID CurrentLayoutGuid
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_HII_FONT_PACKAGE_HDR * FontPkgHdr
HII_FONT_PACKAGE_INSTANCE * FontPackage
EFI_HII_PACKAGE_HEADER FormPkgHdr
EFI_HII_IMAGE_PACKAGE_HDR ImagePkgHdr
EFI_HII_IMAGE_BLOCK * ImageBlock
EFI_HII_SIMPLE_FONT_PACKAGE_HDR * SimpleFontPkgHdr
LIST_ENTRY SimpleFontEntry
EFI_STRING_ID MaxStringId
EFI_HII_STRING_PACKAGE_HDR * StringPkgHdr
LIST_ENTRY DefaultValueEntry
EFI_QUESTION_ID QuestionId
VARIABLE_STORE_HEADER * VariableStorage