that there should be DevicePath Protocol installed on it.\r
This routine create a virtual Driver Handle by installing a vendor device\r
path on it, so as to use it to invoke HiiDatabase.NewPackageList().\r
- The Device Path created is a Vendor Device Path specific to Intel's implemenation.\r
+ The Device Path created is a Vendor Device Path specific to Intel's implemenation\r
+ and it is defined as HII_VENDOR_DEVICE_PATH_NODE.\r
+ \r
\r
@param DriverHandle Handle to be returned\r
\r
}\r
};\r
\r
+/**\r
+ The HII driver handle passed in for HiiDatabase.NewPackageList() requires\r
+ that there should be DevicePath Protocol installed on it.\r
+ This routine create a virtual Driver Handle by installing a vendor device\r
+ path on it, so as to use it to invoke HiiDatabase.NewPackageList().\r
+ The Device Path created is a Vendor Device Path specific to Intel's implemenation\r
+ and it is defined as HII_VENDOR_DEVICE_PATH_NODE.\r
+ \r
\r
+ @param DriverHandle Handle to be returned\r
+\r
+ @retval EFI_SUCCESS Handle destroy success.\r
+ @retval EFI_OUT_OF_RESOURCES Not enough memory.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
HiiLibCreateHiiDriverHandle (\r
}\r
\r
\r
+/**\r
+ Destroy the Driver Handle created by CreateHiiDriverHandle().\r
+\r
+ If no Device Path protocol is installed on the DriverHandle, then ASSERT.\r
+ If this Device Path protocol is failed to be uninstalled, then ASSERT.\r
+\r
+ @param DriverHandle Handle returned by CreateHiiDriverHandle()\r
+\r
+\r
+**/\r
VOID\r
EFIAPI\r
HiiLibDestroyHiiDriverHandle (\r
EFI_HII_DATABASE_PROTOCOL *gIfrLibHiiDatabase;\r
EFI_HII_STRING_PROTOCOL *gIfrLibHiiString;\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
STATIC EFI_GUID mIfrVendorGuid = EFI_IFR_TIANO_GUID;\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
+ @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
#include "LibraryInternal.h"\r
\r
-STATIC\r
+/**\r
+ Get the specified package from a package list based on an index.\r
+ The Buffer on output is updated to point to a package header in\r
+ the HiiPackageList. This is an internal function.\r
+\r
+ @param HiiPackageList The Package List Header.\r
+ @param PackageIndex The index of the package to get.\r
+ @param BufferLen The length of the package.\r
+ @param Buffer The starting address of package.\r
+\r
+ @retval EFI_SUCCESS This function completes successfully.\r
+ @retval EFI_NOT_FOUND The package is not found.\r
+\r
+**/\r
EFI_STATUS\r
GetPackageDataFromPackageList (\r
IN EFI_HII_PACKAGE_LIST_HEADER *HiiPackageList,\r
EFI_HII_PACKAGE_HEADER *Package;\r
UINT32 Offset;\r
UINT32 PackageListLength;\r
- EFI_HII_PACKAGE_HEADER PackageHeader = {0, 0};\r
+ EFI_HII_PACKAGE_HEADER PackageHeader;\r
+\r
+ PackageHeader.Length = 0;\r
+ PackageHeader.Type = 0;\r
\r
ASSERT(HiiPackageList != NULL);\r
\r
return EFI_SUCCESS;\r
}\r
\r
-STATIC\r
+/**\r
+ This is the internal worker function to update the data in\r
+ a form specified by FormSetGuid, \r
+\r
+ @param FormSetGuid The optional Formset GUID.\r
+ @param FormId The form ID>\r
+ @param Package The package header.\r
+ @param PackageLength The package length.\r
+ @param Label The label for the update.\r
+ @param Insert True if inserting opcode to the form.\r
+ @param Data The data payload.\r
+ @param TempBuffer The resultant package.\r
+ @param TempBufferSize The length of the resultant package.\r
+\r
+ @retval EFI_OUT_OF_RESOURCES If there is not enough memory to complete the operation.\r
+ @retval EFI_INVALID_PARAMETER If TempBuffer or TempBufferSize is NULL.\r
+ @retval EFI_SUCCESS The function completes successfully.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
UpdateFormPackageData (\r
- IN EFI_GUID *FormSetGuid,\r
+ IN EFI_GUID *FormSetGuid, OPTIONAL\r
IN EFI_FORM_ID FormId,\r
IN EFI_HII_PACKAGE_HEADER *Package,\r
IN UINT32 PackageLength,\r
/**\r
Configure the buffer accrording to ConfigBody strings.\r
\r
- @param DefaultId the ID of default.\r
- @param Buffer the start address of buffer.\r
- @param BufferSize the size of buffer.\r
- @param Number the number of the strings.\r
+ @param Buffer The start address of buffer.\r
+ @param BufferSize The size of buffer.\r
+ @param Number The number of the strings.\r
+ @param ... Variable argument list for default value in <AltResp> format \r
+ generated by the tool.\r
\r
@retval EFI_BUFFER_TOO_SMALL the BufferSize is too small to operate.\r
@retval EFI_INVALID_PARAMETER Buffer is NULL or BufferSize is 0.\r
\r
STATIC EFI_GUID mIfrVendorGuid = EFI_IFR_TIANO_GUID;\r
\r
+/**\r
+ Create GUIDed opcode for banner. Banner opcode\r
+ EFI_IFR_EXTEND_OP_BANNER is extended opcode specific\r
+ to Intel's implementation.\r
+\r
+ @param Title String ID for title\r
+ @param LineNumber Line number for this banner\r
+ @param Alignment Alignment for this banner, left, center or right\r
+ @param Data Destination for the created opcode binary\r
+\r
+ @retval EFI_SUCCESS Opcode create success\r
+ @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
CreateBannerOpCode (\r
\r
**/\r
\r
-#ifndef _IFRLIBRARY_INTERNAL_H\r
-#define _IFRLIBRARY_INTERNAL_H\r
+#ifndef _IFRLIBRARY_INTERNAL_H_\r
+#define _IFRLIBRARY_INTERNAL_H_\r
\r
\r
#include <PiDxe.h>\r