X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FLibrary%2FExtendedIfrSupportLib%2FCommon.c;h=56f2b79a7145cabd6013e783f8bbee41d697baac;hb=3a306c100673a9be5c8481361671b7ed5e2c4495;hp=6f8926b42cd1d3462f0e288f1df3dbea75f23667;hpb=8dbae30dd739864e1bc86ffa6c038c7bd2de3f55;p=mirror_edk2.git diff --git a/MdeModulePkg/Library/ExtendedIfrSupportLib/Common.c b/MdeModulePkg/Library/ExtendedIfrSupportLib/Common.c index 6f8926b42c..56f2b79a71 100644 --- a/MdeModulePkg/Library/ExtendedIfrSupportLib/Common.c +++ b/MdeModulePkg/Library/ExtendedIfrSupportLib/Common.c @@ -21,7 +21,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. EFI_HII_DATABASE_PROTOCOL *gIfrLibHiiDatabase; EFI_HII_STRING_PROTOCOL *gIfrLibHiiString; +GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_GUID mIfrVendorGuid = EFI_IFR_TIANO_GUID; +/** + ExtendedIfrSupportLib's constructor. It locates the required protocol: + gEfiHiiDatabaseProtocolGuid and gEfiHiiStringProtocolGuid. + + @param ImageHandle The firmware allocated handle for the EFI image. + + @param SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS This function always completes successfully. + +**/ EFI_STATUS EFIAPI ExtendedIfrSupportLibConstructor ( @@ -41,9 +53,19 @@ ExtendedIfrSupportLibConstructor ( } +/** + Extract formset class for given HII handle. + + + @param Handle The HII handle. + @param Class Class of the formset. + @param FormSetTitle Formset title string. + @param FormSetHelp Formset help string. -STATIC EFI_GUID mIfrVendorGuid = EFI_IFR_TIANO_GUID; + @retval EFI_SUCCESS Successfully extract Class for specified Hii handle. + @return Other values if failed to export packages for the given HII handle. +**/ EFI_STATUS EFIAPI IfrLibExtractClassFromHiiHandle ( @@ -52,21 +74,6 @@ IfrLibExtractClassFromHiiHandle ( OUT EFI_STRING_ID *FormSetTitle, OUT EFI_STRING_ID *FormSetHelp ) -/*++ - -Routine Description: - Extract formset class for given HII handle. - -Arguments: - HiiHandle - Hii handle - Class - Class of the formset - FormSetTitle - Formset title string - FormSetHelp - Formset help string - -Returns: - EFI_SUCCESS - Successfully extract Class for specified Hii handle. - ---*/ { EFI_STATUS Status; UINTN BufferSize; @@ -110,13 +117,13 @@ Returns: // Offset = sizeof (EFI_HII_PACKAGE_LIST_HEADER); Offset2 = 0; - CopyMem (&PackageListLength, &HiiPackageList->PackageLength, sizeof (UINT32)); + PackageListLength = ReadUnaligned32 (&HiiPackageList->PackageLength); while (Offset < PackageListLength) { Package = ((UINT8 *) HiiPackageList) + Offset; CopyMem (&PackageHeader, Package, sizeof (EFI_HII_PACKAGE_HEADER)); - if (PackageHeader.Type == EFI_HII_PACKAGE_FORM) { + if (PackageHeader.Type == EFI_HII_PACKAGE_FORMS) { // // Search Class Opcode in this Form Package // @@ -161,7 +168,7 @@ Returns: Offset += PackageHeader.Length; } - gBS->FreePool (HiiPackageList); + FreePool (HiiPackageList); return EFI_SUCCESS; }