diff --git a/MdeModulePkg/Include/Library/HiiLib.h b/MdeModulePkg/Include/Library/HiiLib.h index 730f450fc5..80278b2f5a 100644 --- a/MdeModulePkg/Include/Library/HiiLib.h +++ b/MdeModulePkg/Include/Library/HiiLib.h @@ -15,6 +15,11 @@ #ifndef __HII_LIB_H__ #define __HII_LIB_H__ +//////////////////////////////////////////////////////// +//////////////////////////////////////////////////////// +// HiiLib Functions +//////////////////////////////////////////////////////// +//////////////////////////////////////////////////////// /** Registers a list of packages in the HII Database and returns the HII Handle @@ -330,241 +335,6 @@ Rfc3066ToIso639 ( ) ; - -//////////////////////////////////////////////////////// -//////////////////////////////////////////////////////// -// HiiLib Functions -//////////////////////////////////////////////////////// -//////////////////////////////////////////////////////// - -/** - Registers a list of packages in the HII Database and returns the HII Handle - associated with that registration. If an HII Handle has already been registered - with the same PackageListGuid, then NULL is returned. If there are not enough - resources to perform the registration, then NULL is returned. If an empty list - of packages is passed in, then NULL is returned. If the size of the list of - package is 0, then NULL is returned. - - @param[in] PackageListGuid An optional parameter that is used to identify - the GUID of the package list. If this parameter - is NULL, then gEfiCallerIdGuid is used. - @param[in] DeviceHandle Optional. If not NULL, the Device Handle on which - an instance of DEVICE_PATH_PROTOCOL is installed. - This Device Handle uniquely defines the device that - the added packages are associated with. - @param[in] ... The variable argument list that contains pointers - to packages terminated by a NULL. - - @retval NULL A HII Handle has already been registered in the HII Database with - the same PackageListGuid. - @retval NULL The HII Handle could not be created. - @retval Other The HII Handle associated with the newly registered package list. - -**/ -EFI_HII_HANDLE -EFIAPI -HiiAddPackages ( - IN CONST EFI_GUID *PackageListGuid, OPTIONAL - IN EFI_HANDLE DeviceHandle, OPTIONAL - ... - ); - -/** - Removes a package list from the HII Database. - - If HiiHandle is NULL, then ASSERT(). - If HiiHandle is not a valid EFI_HII_HANDLE in the HII Database, then ASSERT(). - - @param[in] HiiHandle A handle that was previously registered in the HII Database. - -**/ -VOID -EFIAPI -HiiRemovePackages ( - IN EFI_HII_HANDLE HiiHandle - ); - -/** - Retrieves the array of all the HII Handles in the HII Database. - This array is terminated with a NULL HII Handle. - This function allocates the returned array using AllocatePool(). - The caller is responsible for freeing the array with FreePool(). - - @param[in] PackageListGuid An optional parameter that is used to request - an HII Handle that is associatd with a specific - Package List GUID. If this parameter is NULL - then all the HII Handles in the HII Database - are returned. If this parameter is not NULL - then at most 1 HII Handle is returned. - - @retval NULL There are no HII handles in the HII database - @retval NULL The array of HII Handles could not be retrieved - @retval Other A pointer to the NULL terminated array of HII Handles - -**/ -EFI_HII_HANDLE * -EFIAPI -HiiGetHiiHandles ( - IN CONST EFI_GUID *PackageListGuid OPTIONAL - ); - -/** - Retrieves a pointer to the a Null-terminated ASCII string containing the list - of languages that an HII handle in the HII Database supports. The returned - string is allocated using AllocatePool(). The caller is responsible for freeing - the returned string using FreePool(). The format of the returned string follows - the language format assumed the HII Database. - - If HiiHandle is NULL, then ASSERT(). - - @param[in] HiiHandle A handle that was previously registered in the HII Database. - - @retval NULL HiiHandle is not registered in the HII database - @retval NULL There are not enough resources available to retrieve the suported - languages. - @retval NULL The list of suported languages could not be retrieved. - @retval Other A pointer to the Null-terminated ASCII string of supported languages. - -**/ -CHAR8 * -EFIAPI -HiiGetSupportedLanguages ( - IN EFI_HII_HANDLE HiiHandle - ); - -/** - Retrieves a string from a string package in a specific language. If the language - is not specified, then a string from a string package in the current platform - language is retrieved. If the string can not be retrieved using the specified - language or the current platform language, then the string is retrieved from - the string package in the first language the string package supports. The - returned string is allocated using AllocatePool(). The caller is responsible - for freeing the allocated buffer using FreePool(). - - If HiiHandle is NULL, then ASSERT(). - If StringId is 0, then ASSET. - - @param[in] HiiHandle A handle that was previously registered in the HII Database. - @param[in] StringId The identifier of the string to retrieved from the string - package associated with HiiHandle. - @param[in] Language The language of the string to retrieve. If this parameter - is NULL, then the current platform language is used. The - format of Language must follow the language format assumed - the HII Database. - - @retval NULL The string specified by StringId is not present in the string package. - @retval Other The string was returned. - -**/ -EFI_STRING -EFIAPI -HiiGetString ( - IN EFI_HII_HANDLE HiiHandle, - IN EFI_STRING_ID StringId, - IN CONST CHAR8 *Language OPTIONAL - ); - -/** - Retrieves a string from a string package names by GUID in a specific language. - If the language is not specified, then a string from a string package in the - current platform language is retrieved. If the string can not be retrieved - using the specified language or the current platform language, then the string - is retrieved from the string package in the first language the string package - supports. The returned string is allocated using AllocatePool(). The caller - is responsible for freeing the allocated buffer using FreePool(). - - If PackageListGuid is NULL, then ASSERT(). - If StringId is 0, then ASSET. - - @param[in] PackageListGuid The GUID of a package list that was previously - registered in the HII Database. - @param[in] StringId The identifier of the string to retrieved from the - string package associated with PackageListGuid. - @param[in] Language The language of the string to retrieve. If this - parameter is NULL, then the current platform - language is used. The format of Language must - follow the language format assumed the HII Database. - - @retval NULL The package list specified by PackageListGuid is not present in the - HII Database. - @retval NULL The string specified by StringId is not present in the string package. - @retval Other The string was returned. - -**/ -EFI_STRING -EFIAPI -HiiGetPackageString ( - IN CONST EFI_GUID *PackageListGuid, - IN EFI_STRING_ID StringId, - IN CONST CHAR8 *Language OPTIONAL - ); - -/** - This function create a new string in String Package or updates an existing - string in a String Package. If StringId is 0, then a new string is added to - a String Package. If StringId is not zero, then a string in String Package is - updated. If SupportedLanguages is NULL, then the string is added or updated - for all the languages that the String Package supports. If SupportedLanguages - is not NULL, then the string is added or updated for the set of languages - specified by SupportedLanguages. - - If HiiHandle is NULL, then ASSERT(). - If String is NULL, then ASSERT(). - - @param[in] HiiHandle A handle that was previously registered in the - HII Database. - @param[in] StringId If zero, then a new string is created in the - String Package associated with HiiHandle. If - non-zero, then the string specified by StringId - is updated in the String Package associated - with HiiHandle. - @param[in] String A pointer to the Null-terminated Unicode string - to add or update in the String Package associated - with HiiHandle. - @param[in] SupportedLanguages A pointer to a Null-terminated ASCII string of - language codes. If this parameter is NULL, then - String is added or updated in the String Package - associated with HiiHandle for all the languages - that the String Package supports. If this - parameter is not NULL, then then String is added - or updated in the String Package associated with - HiiHandle for the set oflanguages specified by - SupportedLanguages. The format of - SupportedLanguages must follow the language - format assumed the HII Database. - - @retval 0 The string could not be added or updated in the String Package. - @retval Other The EFI_STRING_ID of the newly added or updated string. - -**/ -EFI_STRING_ID -EFIAPI -HiiSetString ( - IN EFI_HII_HANDLE HiiHandle, - IN EFI_STRING_ID StringId, OPTIONAL - IN CONST EFI_STRING String, - IN CONST CHAR8 *SupportedLanguages OPTIONAL - ); - -/** - Validates the config data associated with an HII handle in the HII Database. - - If HiiHandle is NULL, then ASSERT(). - - @param[in] HiiHandle A handle that was previously registered in the HII Database. - - @retval TRUE The config data associated with HiiHandle passes all validation - checks. - @retval FALSE The config data associated with HiiHandle failed one or more - validation checks. - -**/ -BOOLEAN -EFIAPI -HiiValidateDataFromHiiHandle ( - IN EFI_HII_HANDLE HiiHandle - ); - /** Allocates and returns a Null-terminated Unicode string using routing information that includes a GUID, an optional Unicode string name, and a device