diff options
author | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-07-14 05:29:49 +0000 |
---|---|---|
committer | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-07-14 05:29:49 +0000 |
commit | ad1b36195a8b1ec3831fcf34cc0448c1266ec521 (patch) | |
tree | 0a2a3d1d0697d26f359c6939e844a88f9138dd65 /MdePkg/Library/HiiLib/HiiLib.c | |
parent | dee6b58df6d11772613f86b4bb46ad5c7f8672f4 (diff) | |
download | edk2-platforms-ad1b36195a8b1ec3831fcf34cc0448c1266ec521.tar.xz |
Clean up ExtendedHiiLib, HiiLib, IfrSupportLib, ExtendedIfrSupportLib for Doxygen comments requirement.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5458 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/HiiLib/HiiLib.c')
-rw-r--r-- | MdePkg/Library/HiiLib/HiiLib.c | 123 |
1 files changed, 118 insertions, 5 deletions
diff --git a/MdePkg/Library/HiiLib/HiiLib.c b/MdePkg/Library/HiiLib/HiiLib.c index b0c28e2a80..749b004d9f 100644 --- a/MdePkg/Library/HiiLib/HiiLib.c +++ b/MdePkg/Library/HiiLib/HiiLib.c @@ -23,10 +23,6 @@ BOOLEAN mHiiProtocolsInitialized = FALSE; This function locate Hii relative protocols for later usage.
- @param VOID
-
- @retval VOID
-
**/
VOID
LocateHiiProtocols (
@@ -50,10 +46,28 @@ LocateHiiProtocols ( +/**
+ This funciton build the package list based on the package number,
+ the GUID of the package list and the list of pointer which point to
+ package header that defined by UEFI VFR compiler and StringGather
+ tool.
+
+ If there is not enough resource for the new package list,
+ the function will ASSERT.
+
+ @param NumberOfPackages The number of packages be
+ @param GuidId The GUID for the package list to be generated.
+ @param Marker The variable argument list. Each entry represent a specific package header that is
+ generated by VFR compiler and StrGather tool. The first 4 bytes is a UINT32 value
+ that indicate the overall length of the package.
+
+ @return The pointer to the package list header.
+
+**/
EFI_HII_PACKAGE_LIST_HEADER *
InternalHiiLibPreparePackages (
IN UINTN NumberOfPackages,
- IN CONST EFI_GUID *GuidId, OPTIONAL
+ IN CONST EFI_GUID *GuidId,
VA_LIST Marker
)
{
@@ -106,6 +120,20 @@ InternalHiiLibPreparePackages ( return PackageListHeader;
}
+/**
+ Assemble EFI_HII_PACKAGE_LIST according to the passed in packages.
+
+ If GuidId is NULL, then ASSERT.
+ If not enough resource to complete the operation, then ASSERT.
+
+ @param NumberOfPackages Number of packages.
+ @param GuidId Package GUID.
+ @param ... Variable argument list for packages to be assembled.
+
+ @return EFI_HII_PACKAGE_LIST_HEADER Pointer of EFI_HII_PACKAGE_LIST_HEADER. The function will ASSERT if system has
+ not enough resource to complete the operation.
+
+**/
EFI_HII_PACKAGE_LIST_HEADER *
EFIAPI
HiiLibPreparePackageList (
@@ -127,6 +155,30 @@ HiiLibPreparePackageList ( }
+/**
+ This function allocates pool for an EFI_HII_PACKAGE_LIST structure
+ with additional space that is big enough to host all packages described by the variable
+ argument list of package pointers. The allocated structure is initialized using NumberOfPackages,
+ GuidId, and the variable length argument list of package pointers.
+
+ Then, EFI_HII_PACKAGE_LIST will be register to the default System HII Database. The
+ Handle to the newly registered Package List is returned throught HiiHandle.
+
+ If HiiHandle is NULL, then ASSERT.
+
+ @param NumberOfPackages The number of HII packages to register.
+ @param GuidId Package List GUID ID.
+ @param DriverHandle Optional. If not NULL, the DriverHandle on which an instance of DEVICE_PATH_PROTOCOL is installed.
+ This DriverHandle uniquely defines the device that the added packages are associated with.
+ @param HiiHandle On output, the HiiHandle is update with the handle which can be used to retrieve the Package
+ List later. If the functions failed to add the package to the default HII database, this value will
+ be set to NULL.
+ @param ... The variable argument list describing all HII Package.
+
+ @return EFI_SUCCESS If the packages are successfully added to the default HII database.
+ @return EFI_OUT_OF_RESOURCE Not enough resource to complete the operation.
+
+**/
EFI_STATUS
EFIAPI
HiiLibAddPackages (
@@ -161,6 +213,18 @@ HiiLibAddPackages ( return Status;
}
+/**
+ Removes a package list from the default HII database.
+
+ If HiiHandle is NULL, then ASSERT.
+ If HiiHandle is not a valid EFI_HII_HANDLE in the default HII database, then ASSERT.
+
+ @param HiiHandle The handle that was previously registered to the data base that is requested for removal.
+ List later.
+
+ @return VOID
+
+**/
VOID
EFIAPI
HiiLibRemovePackages (
@@ -177,6 +241,21 @@ HiiLibRemovePackages ( }
+/**
+ Determines the handles that are currently active in the database.
+ It's the caller's responsibility to free handle buffer.
+
+ If HandleBufferLength is NULL, then ASSERT.
+ If HiiHandleBuffer is NULL, then ASSERT.
+
+ @param HandleBufferLength On input, a pointer to the length of the handle
+ buffer. On output, the length of the handle buffer
+ that is required for the handles found.
+ @param HiiHandleBuffer Pointer to an array of Hii Handles returned.
+
+ @retval EFI_SUCCESS Get an array of Hii Handles successfully.
+
+**/
EFI_STATUS
EFIAPI
HiiLibGetHiiHandles (
@@ -225,6 +304,18 @@ HiiLibGetHiiHandles ( return Status;
}
+/**
+ Extract Hii package list GUID for given HII handle.
+
+ If HiiHandle could not be found in the default HII database, then ASSERT.
+ If Guid is NULL, then ASSERT.
+
+ @param Handle Hii handle
+ @param Guid Package list GUID
+
+ @retval EFI_SUCCESS Successfully extract GUID from Hii database.
+
+**/
EFI_STATUS
EFIAPI
HiiLibExtractGuidFromHiiHandle (
@@ -269,6 +360,19 @@ HiiLibExtractGuidFromHiiHandle ( return EFI_SUCCESS;
}
+/**
+ Find HII Handle in the default HII database associated with given Device Path.
+
+ If DevicePath is NULL, then ASSERT.
+
+ @param DevicePath Device Path associated with the HII package list
+ handle.
+
+ @retval Handle HII package list Handle associated with the Device
+ Path.
+ @retval NULL Hii Package list handle is not found.
+
+**/
EFI_HII_HANDLE
EFIAPI
HiiLibDevicePathToHiiHandle (
@@ -382,6 +486,15 @@ HiiLibDevicePathToHiiHandle ( return HiiHandle;
}
+/**
+ This function check if the Hii Handle is a valid handle registered
+ in the HII database.
+
+ @param HiiHandle The HII Handle.
+
+ @retval TRUE If it is a valid HII handle.
+ @retval FALSE If it is a invalid HII handle.
+**/
BOOLEAN
IsHiiHandleRegistered (
EFI_HII_HANDLE HiiHandle
|