#ifndef __HII_DATABASE_PRIVATE_H__\r
#define __HII_DATABASE_PRIVATE_H__\r
\r
-#include <PiDxe.h>\r
+#include <Uefi.h>\r
\r
#include <Protocol/ConsoleControl.h>\r
#include <Protocol/DevicePath.h>\r
#include <Library/DevicePathLib.h>\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/IfrSupportLib.h>\r
-#include <Library/HiiLib.h>\r
+#include <Library/UefiLib.h>\r
+#include <Library/PcdLib.h>\r
\r
#define HII_DATABASE_NOTIFY_GUID \\r
{ \\r
LIST_ENTRY DatabaseList;\r
LIST_ENTRY DatabaseNotifyList;\r
EFI_HII_FONT_PROTOCOL HiiFont;\r
-#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_\r
EFI_HII_IMAGE_PROTOCOL HiiImage;\r
-#endif\r
EFI_HII_STRING_PROTOCOL HiiString;\r
EFI_HII_DATABASE_PROTOCOL HiiDatabase;\r
EFI_HII_CONFIG_ROUTING_PROTOCOL ConfigRouting;\r
BOOLEAN\r
IsHiiHandleValid (\r
EFI_HII_HANDLE Handle\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN EFI_FONT_INFO_MASK *FontInfoMask, OPTIONAL\r
IN EFI_FONT_HANDLE FontHandle, OPTIONAL\r
OUT HII_GLOBAL_FONT_INFO **GlobalFontInfo OPTIONAL\r
+ );\r
+\r
+/**\r
+\r
+ This function invokes the matching registered function.\r
+ \r
+ @param Private HII Database driver private structure.\r
+ @param NotifyType The type of change concerning the database.\r
+ @param PackageInstance Points to the package referred to by the notification.\r
+ @param PackageType Package type\r
+ @param Handle The handle of the package list which contains the specified package.\r
+ \r
+ @retval EFI_SUCCESS Already checked all registered function and invoked \r
+ if matched.\r
+ @retval EFI_INVALID_PARAMETER Any input parameter is not valid.\r
+ \r
+**/\r
+EFI_STATUS\r
+InvokeRegisteredFunction (\r
+ IN HII_DATABASE_PRIVATE_DATA *Private, \r
+ IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
+ IN VOID *PackageInstance,\r
+ IN UINT8 PackageType,\r
+ IN EFI_HII_HANDLE Handle\r
)\r
;\r
\r
-\r
/**\r
Retrieve system default font and color.\r
\r
IN HII_DATABASE_PRIVATE_DATA *Private,\r
OUT EFI_FONT_DISPLAY_INFO **FontInfo,\r
OUT UINTN *FontInfoSize OPTIONAL\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
OUT UINT8 **StringBlockAddr, OPTIONAL\r
OUT UINTN *StringTextOffset, OPTIONAL\r
OUT EFI_STRING_ID *LastStringId OPTIONAL\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
OUT UINT8 **GlyphBuffer, OPTIONAL\r
OUT EFI_HII_GLYPH_INFO *Cell, OPTIONAL\r
OUT UINTN *GlyphBufferLen OPTIONAL\r
- )\r
-;\r
+ );\r
\r
//\r
// EFI_HII_FONT_PROTOCOL protocol interfaces\r
OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL,\r
OUT UINTN *RowInfoArraySize OPTIONAL,\r
OUT UINTN *ColumnInfoArray OPTIONAL\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL,\r
OUT UINTN *RowInfoArraySize OPTIONAL,\r
OUT UINTN *ColumnInfoArray OPTIONAL\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST EFI_FONT_DISPLAY_INFO *StringInfo,\r
OUT EFI_IMAGE_OUTPUT **Blt,\r
OUT UINTN *Baseline OPTIONAL\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn, OPTIONAL\r
OUT EFI_FONT_DISPLAY_INFO **StringInfoOut,\r
IN CONST EFI_STRING String OPTIONAL\r
- )\r
-;\r
+ );\r
\r
//\r
// EFI_HII_IMAGE_PROTOCOL interfaces\r
IN EFI_HII_HANDLE PackageList,\r
OUT EFI_IMAGE_ID *ImageId,\r
IN CONST EFI_IMAGE_INPUT *Image\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN EFI_HII_HANDLE PackageList,\r
IN EFI_IMAGE_ID ImageId,\r
OUT EFI_IMAGE_INPUT *Image\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN EFI_HII_HANDLE PackageList,\r
IN EFI_IMAGE_ID ImageId,\r
IN CONST EFI_IMAGE_INPUT *Image\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN OUT EFI_IMAGE_OUTPUT **Blt,\r
IN UINTN BltX,\r
IN UINTN BltY\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST CHAR16 *LanguageName, OPTIONAL\r
IN CONST EFI_STRING String,\r
IN CONST EFI_FONT_INFO *StringFontInfo OPTIONAL\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
OUT EFI_STRING String,\r
IN OUT UINTN *StringSize,\r
OUT EFI_FONT_INFO **StringFontInfo OPTIONAL\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST CHAR8 *Language,\r
IN CONST EFI_STRING String,\r
IN CONST EFI_FONT_INFO *StringFontInfo OPTIONAL\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN EFI_HII_HANDLE PackageList,\r
IN OUT CHAR8 *Languages,\r
IN OUT UINTN *LanguagesSize\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST CHAR8 *FirstLanguage,\r
IN OUT CHAR8 *SecondaryLanguages,\r
IN OUT UINTN *SecondaryLanguagesSize\r
- )\r
-;\r
+ );\r
\r
//\r
// EFI_HII_DATABASE_PROTOCOL protocol interfaces\r
IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList,\r
IN CONST EFI_HANDLE DriverHandle,\r
OUT EFI_HII_HANDLE *Handle\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
HiiRemovePackageList (\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
IN EFI_HII_HANDLE Handle\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
IN EFI_HII_HANDLE Handle,\r
IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST EFI_GUID *PackageGuid,\r
IN OUT UINTN *HandleBufferLength,\r
OUT EFI_HII_HANDLE *Handle\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN EFI_HII_HANDLE Handle,\r
IN OUT UINTN *BufferSize,\r
OUT EFI_HII_PACKAGE_LIST_HEADER *Buffer\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST EFI_HII_DATABASE_NOTIFY PackageNotifyFn,\r
IN EFI_HII_DATABASE_NOTIFY_TYPE NotifyType,\r
OUT EFI_HANDLE *NotifyHandle\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
HiiUnregisterPackageNotify (\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
IN EFI_HANDLE NotificationHandle\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
IN OUT UINT16 *KeyGuidBufferLength,\r
OUT EFI_GUID *KeyGuidBuffer\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST EFI_GUID *KeyGuid,\r
IN OUT UINT16 *KeyboardLayoutLength,\r
OUT EFI_HII_KEYBOARD_LAYOUT *KeyboardLayout\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
HiiSetKeyboardLayout (\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
IN CONST EFI_GUID *KeyGuid\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST EFI_HII_DATABASE_PROTOCOL *This,\r
IN EFI_HII_HANDLE PackageListHandle,\r
OUT EFI_HANDLE *DriverHandle\r
- )\r
-;\r
+ );\r
\r
//\r
// EFI_HII_CONFIG_ROUTING_PROTOCOL interfaces\r
IN CONST EFI_STRING Request,\r
OUT EFI_STRING *Progress,\r
OUT EFI_STRING *Results\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
HiiConfigRoutingExportConfig (\r
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,\r
OUT EFI_STRING *Results\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST EFI_HII_CONFIG_ROUTING_PROTOCOL *This,\r
IN CONST EFI_STRING Configuration,\r
OUT EFI_STRING *Progress\r
- )\r
-;\r
+ );\r
\r
\r
\r
IN CONST UINTN BlockSize,\r
OUT EFI_STRING *Config,\r
OUT EFI_STRING *Progress\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN OUT UINT8 *Block,\r
IN OUT UINTN *BlockSize,\r
OUT EFI_STRING *Progress\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
IN CONST UINT16 *AltCfgId,\r
OUT EFI_STRING *AltCfgResp\r
- )\r
-;\r
+ );\r
\r
\r
//\r