]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/HiiLib.h
clean up the un-suitable ';' location when declaring the functions.
[mirror_edk2.git] / MdePkg / Include / Library / HiiLib.h
index 012a7b8052c114df5b5bac45ac02cecd35469683..e094fad28fd8aaa5360542e073a068445c74b163 100644 (file)
 #ifndef __HII_LIB_H__\r
 #define __HII_LIB_H__\r
 \r
-//\r
-// Limited buffer size recommended by RFC4646 (4.3.  Length Considerations)\r
-// (42 characters plus a NULL terminator)\r
-//\r
+///\r
+/// Limited buffer size recommended by RFC4646 (4.3.  Length Considerations)\r
+/// (42 characters plus a NULL terminator)\r
+///\r
 #define RFC_3066_ENTRY_SIZE             (42 + 1)\r
 \r
 #define ISO_639_2_ENTRY_SIZE            3\r
@@ -43,8 +43,7 @@ HiiLibPreparePackageList (
   IN UINTN                    NumberOfPackages,\r
   IN CONST EFI_GUID                 *GuidId,\r
   ...\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   This function allocates pool for an EFI_HII_PACKAGE_LIST structure\r
@@ -78,8 +77,7 @@ HiiLibAddPackages (
   IN       EFI_HANDLE          DriverHandle, OPTIONAL\r
   OUT      EFI_HII_HANDLE      *HiiHandle,\r
   ...\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Removes a package list from the default HII database.\r
@@ -95,8 +93,7 @@ VOID
 EFIAPI\r
 HiiLibRemovePackages (\r
   IN      EFI_HII_HANDLE      HiiHandle\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   This function adds the string into String Package of each language\r
@@ -122,8 +119,7 @@ HiiLibNewString (
   IN  EFI_HII_HANDLE                  PackageList,\r
   OUT EFI_STRING_ID                   *StringId,\r
   IN  CONST EFI_STRING                String\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   This function update the specified string in String Package of each language\r
@@ -148,15 +144,14 @@ HiiLibSetString (
   IN  EFI_HII_HANDLE                  PackageList,\r
   IN  EFI_STRING_ID                   StringId,\r
   IN  CONST EFI_STRING                String\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   This function try to retrieve string from String package of current language.\r
   If fails, it try to retrieve string from String package of first language it support.\r
 \r
-  If String is NULL, then ASSERT.\r
   If StringSize is NULL, then ASSERT.\r
+  If String is NULL and *StringSize is not 0, then ASSERT.\r
   If PackageList could not be found in the default HII database, then ASSERT.\r
   If StringId is not found in PackageList, then ASSERT.\r
 \r
@@ -173,7 +168,6 @@ HiiLibSetString (
   @retval EFI_NOT_FOUND          The string specified by StringId is not available.\r
   @retval EFI_BUFFER_TOO_SMALL   The buffer specified by StringLength is too small\r
                                  to hold the string.\r
-  @retval EFI_INVALID_PARAMETER  The String or StringSize was NULL.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -183,8 +177,7 @@ HiiLibGetString (
   IN  EFI_STRING_ID                   StringId,\r
   OUT EFI_STRING                      String,\r
   IN  OUT UINTN                       *StringSize\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Get string specified by StringId form the HiiHandle. The caller\r
@@ -210,8 +203,7 @@ HiiLibGetStringFromHandle (
   IN  EFI_HII_HANDLE                  HiiHandle,\r
   IN  EFI_STRING_ID                   StringId,\r
   OUT EFI_STRING                      *String\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Get the string given the StringId and String package Producer's Guid. The caller\r
@@ -235,8 +227,7 @@ HiiLibGetStringFromToken (
   IN  EFI_GUID                        *ProducerGuid,\r
   IN  EFI_STRING_ID                   StringId,\r
   OUT EFI_STRING                      *String\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Determines the handles that are currently active in the database.\r
@@ -258,8 +249,7 @@ EFIAPI
 HiiLibGetHiiHandles (\r
   IN OUT UINTN                     *HandleBufferLength,\r
   OUT    EFI_HII_HANDLE            **HiiHandleBuffer\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Extract Hii package list GUID for given HII handle.\r
@@ -278,8 +268,7 @@ EFIAPI
 HiiLibExtractGuidFromHiiHandle (\r
   IN      EFI_HII_HANDLE      Handle,\r
   OUT     EFI_GUID            *Guid\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Find HII Handle in the default HII database associated with given Device Path.\r
@@ -298,8 +287,7 @@ EFI_HII_HANDLE
 EFIAPI\r
 HiiLibDevicePathToHiiHandle (\r
   IN EFI_DEVICE_PATH_PROTOCOL   *DevicePath\r
-  )\r
-;\r
+  );\r
 \r
 \r
 /**\r
@@ -321,8 +309,7 @@ EFI_STATUS
 EFIAPI\r
 HiiLibGetCurrentLanguage (\r
   OUT     CHAR8               *Lang\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Get next language from language code list (with separator ';').\r
@@ -341,8 +328,7 @@ EFIAPI
 HiiLibGetNextLanguage (\r
   IN OUT CHAR8      **LangCode,\r
   OUT CHAR8         *Lang\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   This function returns the list of supported languages, in the format specified\r
@@ -360,8 +346,7 @@ CHAR8 *
 EFIAPI\r
 HiiLibGetSupportedLanguages (\r
   IN EFI_HII_HANDLE           HiiHandle\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   This function returns the list of supported 2nd languages, in the format specified\r
@@ -381,8 +366,7 @@ EFIAPI
 HiiLibGetSupportedSecondaryLanguages (\r
   IN EFI_HII_HANDLE           HiiHandle,\r
   IN CONST CHAR8              *FirstLanguage\r
-  )\r
-;\r
+  );\r
 \r
 \r
 /**\r
@@ -400,8 +384,42 @@ UINT16
 EFIAPI\r
 HiiLibGetSupportedLanguageNumber (\r
   IN EFI_HII_HANDLE           HiiHandle\r
-  )\r
-;\r
+  );\r
+\r
+/**\r
+  Exports the contents of one or all package lists in the HII database into a buffer.\r
+\r
+  If Handle is not NULL and not a valid EFI_HII_HANDLE registered in the database, \r
+  then ASSERT.\r
+  If PackageListHeader is NULL, then ASSERT.\r
+  If PackageListSize is NULL, then ASSERT.\r
+\r
+  @param  Handle                 The HII Handle.\r
+  @param  PackageListHeader      A pointer to a buffer that will contain the results of \r
+                                 the export function.\r
+  @param  PackageListSize        On output, the length of the buffer that is required for the exported data.\r
+\r
+  @retval EFI_SUCCESS            Package exported.\r
+\r
+  @retval EFI_OUT_OF_RESOURCES   Not enought memory to complete the operations.\r
+\r
+**/\r
+EFI_STATUS \r
+EFIAPI\r
+HiiLibExportPackageLists (\r
+  IN EFI_HII_HANDLE                    Handle,\r
+  OUT EFI_HII_PACKAGE_LIST_HEADER      **PackageListHeader,\r
+  OUT UINTN                            *PackageListSize\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+HiiLibListPackageLists (\r
+  IN        UINT8                     PackageType,\r
+  IN CONST  EFI_GUID                  *PackageGuid,\r
+  IN OUT    UINTN                     *HandleBufferLength,\r
+  OUT       EFI_HII_HANDLE            **Handle\r
+  );\r
 \r
 /**\r
   Convert language code from RFC3066 to ISO639-2.\r
@@ -427,8 +445,7 @@ EFIAPI
 ConvertRfc3066LanguageToIso639Language (\r
   IN  CHAR8   *LanguageRfc3066,\r
   OUT CHAR8   *LanguageIso639\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Convert language code from ISO639-2 to RFC3066.\r
@@ -454,8 +471,7 @@ EFIAPI
 ConvertIso639LanguageToRfc3066Language (\r
   IN  CONST CHAR8   *LanguageIso639,\r
   OUT CHAR8         *LanguageRfc3066\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Convert language code list from RFC3066 to ISO639-2, e.g. "en-US;fr-FR" will\r
@@ -472,7 +488,6 @@ CHAR8 *
 EFIAPI\r
 Rfc3066ToIso639 (\r
   CHAR8  *SupportedLanguages\r
-  )\r
-;\r
+  );\r
 \r
 #endif\r