From 9185c388a9e992bcbcf38d10fb24321a60950562 Mon Sep 17 00:00:00 2001 From: qwang12 Date: Tue, 4 Nov 2008 14:22:22 +0000 Subject: Sync in bug fix from EDK I: 1) issue with setup browser and IFR refresh opcode 2) [HII]HIIConfigRoutingExportConfig generate error format of 3) [HII] ConfigRouting->ExtractConfig() will cause overflow 4) [Hii Database] EFI_HII_DATABASE_NOTIFY should be invoked when a string package is created internally when a new String Token is created 5) [PT]HIIConfigAccessProtocolTest fail on NT32uefi 6) Incorrect HII package types in EDK git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6377 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/Library/IfrSupportLib.h | 60 ++++++++++++++++++++++ .../Include/Uefi/UefiInternalFormRepresentation.h | 4 +- 2 files changed, 62 insertions(+), 2 deletions(-) (limited to 'MdePkg/Include') diff --git a/MdePkg/Include/Library/IfrSupportLib.h b/MdePkg/Include/Library/IfrSupportLib.h index 2904cb24cf..3f686bd49c 100644 --- a/MdePkg/Include/Library/IfrSupportLib.h +++ b/MdePkg/Include/Library/IfrSupportLib.h @@ -434,6 +434,47 @@ CreateStringOpCode ( IN OUT EFI_HII_UPDATE_DATA *Data ) ; +/** + Construct for a buffer storage. + + @param ConfigRequest The Config request string. If set to NULL, all the + configurable elements will be extracted from BlockNameArray. + @param ConfigAltResp The returned . + @param Progress On return, points to a character in the Request. + @param Guid GUID of the buffer storage. + @param Name Name of the buffer storage. + @param DriverHandle The DriverHandle which is used to invoke HiiDatabase + protocol interface NewPackageList(). + @param BufferStorage Content of the buffer storage. + @param BufferStorageSize Length in bytes of the buffer storage. + @param BlockNameArray Array generated by VFR compiler. + @param NumberAltCfg Number of Default value array generated by VFR compiler. + The sequential input parameters will be number of + AltCfgId and DefaultValueArray pairs. When set to 0, + there will be no . + + retval EFI_OUT_OF_RESOURCES Run out of memory resource. + retval EFI_INVALID_PARAMETER ConfigAltResp is NULL. + retval EFI_SUCCESS Operation successful. + +**/ +EFI_STATUS +ConstructConfigAltResp ( + IN EFI_STRING ConfigRequest, OPTIONAL + OUT EFI_STRING *Progress, + OUT EFI_STRING *ConfigAltResp, + IN EFI_GUID *Guid, + IN CHAR16 *Name, + IN EFI_HANDLE *DriverHandle, + IN VOID *BufferStorage, + IN UINTN BufferStorageSize, + IN VOID *BlockNameArray, OPTIONAL + IN UINTN NumberAltCfg, + ... +//IN UINT16 AltCfgId, +//IN VOID *DefaultValueArray, + ) +; /** Converts the unicode character of the string from uppercase to lowercase. @@ -578,6 +619,25 @@ ConstructConfigHdr ( ; +/** + Determines if the Routing data (Guid and Name) is correct in . + + @param ConfigString Either or . + @param StorageGuid GUID of the storage. + @param StorageName Name of the stoarge. + + @retval TRUE Routing information is correct in ConfigString. + @retval FALSE Routing information is incorrect in ConfigString. + +**/ +BOOLEAN +IsConfigHdrMatch ( + IN EFI_STRING ConfigString, + IN EFI_GUID *StorageGuid, OPTIONAL + IN CHAR16 *StorageName OPTIONAL + ) +; + /** Search BlockName "&OFFSET=Offset&WIDTH=Width" in a string. diff --git a/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h b/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h index 9c0f2a2f7d..a26ac8d5b3 100644 --- a/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h +++ b/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h @@ -66,13 +66,13 @@ typedef struct { // #define EFI_HII_PACKAGE_TYPE_ALL 0x00 #define EFI_HII_PACKAGE_TYPE_GUID 0x01 -#define EFI_HII_PACKAGE_FORM 0x02 -#define EFI_HII_PACKAGE_KEYBOARD_LAYOUT 0x03 +#define EFI_HII_PACKAGE_FORMS 0x02 #define EFI_HII_PACKAGE_STRINGS 0x04 #define EFI_HII_PACKAGE_FONTS 0x05 #define EFI_HII_PACKAGE_IMAGES 0x06 #define EFI_HII_PACKAGE_SIMPLE_FONTS 0x07 #define EFI_HII_PACKAGE_DEVICE_PATH 0x08 +#define EFI_HII_PACKAGE_KEYBOARD_LAYOUT 0x09 #define EFI_HII_PACKAGE_END 0xDF #define EFI_HII_PACKAGE_TYPE_SYSTEM_BEGIN 0xE0 #define EFI_HII_PACKAGE_TYPE_SYSTEM_END 0xFF -- cgit v1.2.3