\r
EFI_HII_DATABASE_PROTOCOL *gIfrLibHiiDatabase;\r
EFI_HII_STRING_PROTOCOL *gIfrLibHiiString;\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_GUID mIfrVendorGuid = EFI_IFR_TIANO_GUID;\r
\r
+/**\r
+ ExtendedIfrSupportLib's constructor. It locates the required protocol:\r
+ gEfiHiiDatabaseProtocolGuid and gEfiHiiStringProtocolGuid.\r
+\r
+ @param ImageHandle The firmware allocated handle for the EFI image.\r
+ \r
+ @param SystemTable A pointer to the EFI System Table.\r
+\r
+ @retval EFI_SUCCESS This function always completes successfully.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
ExtendedIfrSupportLibConstructor (\r
}\r
\r
\r
+/**\r
+ Extract formset class for given HII handle.\r
+\r
+\r
+ @param Handle The HII handle.\r
+ @param Class Class of the formset.\r
+ @param FormSetTitle Formset title string.\r
+ @param FormSetHelp Formset help string.\r
\r
-STATIC EFI_GUID mIfrVendorGuid = EFI_IFR_TIANO_GUID;\r
+ @retval EFI_SUCCESS Successfully extract Class for specified Hii handle.\r
+ @return Other values if failed to export packages for the given HII handle.\r
\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IfrLibExtractClassFromHiiHandle (\r
OUT EFI_STRING_ID *FormSetTitle,\r
OUT EFI_STRING_ID *FormSetHelp\r
)\r
-/*++\r
-\r
-Routine Description:\r
- Extract formset class for given HII handle.\r
-\r
-Arguments:\r
- HiiHandle - Hii handle\r
- Class - Class of the formset\r
- FormSetTitle - Formset title string\r
- FormSetHelp - Formset help string\r
-\r
-Returns:\r
- EFI_SUCCESS - Successfully extract Class for specified Hii handle.\r
-\r
---*/\r
{\r
EFI_STATUS Status;\r
UINTN BufferSize;\r
//\r
Offset = sizeof (EFI_HII_PACKAGE_LIST_HEADER);\r
Offset2 = 0;\r
- CopyMem (&PackageListLength, &HiiPackageList->PackageLength, sizeof (UINT32));\r
+ PackageListLength = ReadUnaligned32 (&HiiPackageList->PackageLength);\r
\r
while (Offset < PackageListLength) {\r
Package = ((UINT8 *) HiiPackageList) + Offset;\r
CopyMem (&PackageHeader, Package, sizeof (EFI_HII_PACKAGE_HEADER));\r
\r
- if (PackageHeader.Type == EFI_HII_PACKAGE_FORM) {\r
+ if (PackageHeader.Type == EFI_HII_PACKAGE_FORMS) {\r
//\r
// Search Class Opcode in this Form Package\r
//\r
Offset += PackageHeader.Length;\r
}\r
\r
- gBS->FreePool (HiiPackageList);\r
+ FreePool (HiiPackageList);\r
\r
return EFI_SUCCESS;\r
}\r