]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/HiiString.h
Merged in the following trackers from EDK:
[mirror_edk2.git] / MdePkg / Include / Protocol / HiiString.h
index 06ff124b24ca624daeedd2629671de7c583d2646..0a522c2785d7b27b24658943e6039566ba20fb8d 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   The file provides services to manipulate string data.\r
   \r
-  Copyright (c) 2006 - 2007, Intel Corporation\r
+  Copyright (c) 2006 - 2008, Intel Corporation\r
   All rights reserved. This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
   which accompanies this distribution.  The full text of the license may be found at        \r
@@ -10,8 +10,6 @@
   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
 \r
-  Module Name: HiiString.h\r
-\r
 **/\r
 \r
 #ifndef __HII_STRING_H__\r
@@ -20,6 +18,9 @@
 #define EFI_HII_STRING_PROTOCOL_GUID \\r
   { 0xfd96974, 0x23aa, 0x4cdc, { 0xb9, 0xcb, 0x98, 0xd1, 0x77, 0x50, 0x32, 0x2a } }\r
 \r
+#include <Protocol/HiiDatabase.h>\r
+#include <Protocol/HiiFont.h>\r
+\r
 \r
 typedef struct _EFI_HII_STRING_PROTOCOL EFI_HII_STRING_PROTOCOL;\r
 \r
@@ -59,11 +60,12 @@ typedef
 EFI_STATUS\r
 (EFIAPI *EFI_HII_NEW_STRING) (\r
   IN CONST  EFI_HII_STRING_PROTOCOL   *This,\r
-  IN CONST  EFI_HII_HANDLE            PackageList,\r
-  OUT       EFI_STRING_ID             *StringId\r
+  IN        EFI_HII_HANDLE            PackageList,\r
+  OUT       EFI_STRING_ID             *StringId,\r
   IN CONST  CHAR8                     *Language,\r
+  IN  CONST CHAR16                    *LanguageName, OPTIONAL  \r
   IN CONST  EFI_STRING                String,\r
-  IN CONST  EFI_FONT_INFO             *StringFontInfo OPTIONAL,\r
+  IN CONST  EFI_FONT_INFO             *StringFontInfo OPTIONAL\r
 );\r
 \r
 \r
@@ -99,14 +101,16 @@ EFI_STATUS
                     points to the length of the string, in\r
                     bytes.\r
   \r
-  @param StringFontInfo   Points to the string's font\r
-                          information or NULL if the string font\r
-                          information is not desired.\r
+  @param StringFontInfo  Points to a buffer that will be callee allocated and will \r
+                      have the string's font information into this buffer.  \r
+                      The caller is responsible for freeing this buffer.  \r
+                      If the parameter is NULL a buffer will not be allocated \r
+                      and the string font information will not be returned.\r
   \r
   @retval EFI_SUCCESS The string was returned successfully.\r
   \r
   @retval EFI_NOT_FOUND The string specified by StringId is not\r
-                        available.\r
+                        available. The specified PackageList is not in the database.\r
   \r
   @retval EFI_INVALID_LANGUAGE  The string specified by StringId\r
                                 is available but not in the\r
@@ -124,11 +128,11 @@ EFI_STATUS
 (EFIAPI *EFI_HII_GET_STRING) (\r
   IN CONST  EFI_HII_STRING_PROTOCOL *This,\r
   IN CONST  CHAR8                   *Language,\r
-  IN CONST  EFI_HII_HANDLE          PackageList,\r
-  IN CONST  EFI_STRING_ID           StringId,\r
+  IN        EFI_HII_HANDLE          PackageList,\r
+  IN        EFI_STRING_ID           StringId,\r
   OUT       EFI_STRING              String,\r
-  IN OUT    UINTN                   StringSize,\r
-  OUT       EFI_FONT_INFO           *StringFontInfo OPTIONAL\r
+  IN OUT    UINTN                   *StringSize,\r
+  OUT       EFI_FONT_INFO           **StringFontInfo OPTIONAL\r
 );\r
 \r
 /**\r
@@ -156,7 +160,7 @@ EFI_STATUS
   @retval EFI_SUCCESS   The string was successfully updated.\r
   \r
   @retval EFI_NOT_FOUND The string specified by StringId is not\r
-                        in the database.\r
+                        in the database. The specified PackageList is not in the database.\r
   \r
   @retval EFI_INVALID_PARAMETER The String or Language was NULL.\r
   \r
@@ -168,10 +172,10 @@ typedef
 EFI_STATUS\r
 (EFIAPI *EFI_HII_SET_STRING) (\r
   IN CONST  EFI_HII_STRING_PROTOCOL *This,\r
-  IN CONST  EFI_HII_HANDLE          PackageList,\r
-  IN CONST  EFI_STRING_ID           StringId,\r
+  IN        EFI_HII_HANDLE          PackageList,\r
+  IN        EFI_STRING_ID           StringId,\r
   IN CONST  CHAR8                   *Language,\r
-  IN CONST  EFI_STRING              String,\r
+  IN        EFI_STRING              String,\r
   IN CONST  EFI_FONT_INFO           *StringFontInfo OPTIONAL\r
 );\r
 \r
@@ -201,17 +205,18 @@ EFI_STATUS
                                 updated to contain the required\r
                                 size.\r
   \r
-  @retval EFI_INVALID_PARAMETER Languages is NULL.\r
+  @retval EFI_INVALID_PARAMETER Languages or LanguagesSize is NULL.\r
+  @retval EFI_NOT_FOUND The specified PackageList is not in the database.\r
 \r
 \r
 **/\r
 typedef\r
 EFI_STATUS\r
 (EFIAPI *EFI_HII_GET_LANGUAGES) (\r
-  IN CONST  EFI_HII_DATABASE_PROTOCOL *This,\r
-  IN CONST  EFI_HII_HANDLE            PackageList,\r
+  IN CONST  EFI_HII_STRING_PROTOCOL   *This,\r
+  IN        EFI_HII_HANDLE            PackageList,\r
   IN OUT    CHAR8                     *Languages,\r
-  IN OUT    UINTN                     LanguagesSize\r
+  IN OUT    UINTN                     *LanguagesSize\r
 );\r
 \r
 \r
@@ -259,16 +264,17 @@ EFI_STATUS
 \r
   @retval EFI_INVALID_PARAMETER FirstLanguage is NULL or\r
                                 SecondLanguage is NULL.\r
+  @retval EFI_NOT_FOUND The specified PackageList is not in the database.\r
 \r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_GET_2ND_LANGUAGES) (\r
-  IN CONST  EFI_HII_DATABASE_PROTOCOL *This,\r
-  IN CONST  EFI_HII_HANDLE            PackageList,\r
-  IN CONST  CHAR8                     *FirstLanguage;\r
+(EFIAPI *EFI_HII_GET_2ND_LANGUAGES) (\r
+  IN CONST  EFI_HII_STRING_PROTOCOL   *This,\r
+  IN        EFI_HII_HANDLE            PackageList,\r
+  IN CONST  CHAR8                     *FirstLanguage,\r
   IN OUT    CHAR8                     *SecondLanguages,\r
-  IN OUT    UINTN                     SecondLanguagesSize\r
+  IN OUT    UINTN                     *SecondLanguagesSize\r
 );\r
 \r
 \r
@@ -301,3 +307,4 @@ extern EFI_GUID gEfiHiiStringProtocolGuid;
 \r
 #endif\r
 \r
+\r