1d1f950002362305fcd4c30f108ef7b76679f5843yshang/** @file 2d1f950002362305fcd4c30f108ef7b76679f5843yshang The file provides services to manipulate string data. 3d1f950002362305fcd4c30f108ef7b76679f5843yshang 44f0779023cb4f633425a6fa8df747326336f2077lzengCopyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> 5af2dc6a70b9380d702bd0720cdb029d630c505e3myronporterThis program and the accompanying materials are licensed and made available under 6af2dc6a70b9380d702bd0720cdb029d630c505e3myronporterthe terms and conditions of the BSD License that accompanies this distribution. 7af2dc6a70b9380d702bd0720cdb029d630c505e3myronporterThe full text of the license may be found at 8af2dc6a70b9380d702bd0720cdb029d630c505e3myronporterhttp://opensource.org/licenses/bsd-license.php. 9af2dc6a70b9380d702bd0720cdb029d630c505e3myronporter 10af2dc6a70b9380d702bd0720cdb029d630c505e3myronporterTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11af2dc6a70b9380d702bd0720cdb029d630c505e3myronporterWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12d1f950002362305fcd4c30f108ef7b76679f5843yshang 13d1f950002362305fcd4c30f108ef7b76679f5843yshang**/ 14d1f950002362305fcd4c30f108ef7b76679f5843yshang 15d1f950002362305fcd4c30f108ef7b76679f5843yshang#ifndef __HII_STRING_H__ 16d1f950002362305fcd4c30f108ef7b76679f5843yshang#define __HII_STRING_H__ 17d1f950002362305fcd4c30f108ef7b76679f5843yshang 187d582d6b499ed30268da033cc17fbde6e7b02a9dqwang#include <Protocol/HiiFont.h> 197d582d6b499ed30268da033cc17fbde6e7b02a9dqwang 201e966f6375d3b9fe77c6e4a6974f771f67182694mdkinney#define EFI_HII_STRING_PROTOCOL_GUID \ 211e966f6375d3b9fe77c6e4a6974f771f67182694mdkinney { 0xfd96974, 0x23aa, 0x4cdc, { 0xb9, 0xcb, 0x98, 0xd1, 0x77, 0x50, 0x32, 0x2a } } 22d1f950002362305fcd4c30f108ef7b76679f5843yshang 23d1f950002362305fcd4c30f108ef7b76679f5843yshangtypedef struct _EFI_HII_STRING_PROTOCOL EFI_HII_STRING_PROTOCOL; 24d1f950002362305fcd4c30f108ef7b76679f5843yshang 25d1f950002362305fcd4c30f108ef7b76679f5843yshang/** 264ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao This function adds the string String to the group of strings owned by PackageList, with the 27af2dc6a70b9380d702bd0720cdb029d630c505e3myronporter specified font information StringFontInfo, and returns a new string id. 28d6a82eaf8d8971f9d4eecda80f421281363c0772lgao The new string identifier is guaranteed to be unique within the package list. 29d6a82eaf8d8971f9d4eecda80f421281363c0772lgao That new string identifier is reserved for all languages in the package list. 304ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao 314ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param This A pointer to the EFI_HII_STRING_PROTOCOL instance. 32af2dc6a70b9380d702bd0720cdb029d630c505e3myronporter @param PackageList The handle of the package list where this string will 334ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao be added. 344ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param StringId On return, contains the new strings id, which is 354ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao unique within PackageList. 364ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param Language Points to the language for the new string. 374ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param LanguageName Points to the printable language name to associate 384ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao with the passed in Language field.If LanguageName 394ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao is not NULL and the string package header's 404ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao LanguageName associated with a given Language is 41af2dc6a70b9380d702bd0720cdb029d630c505e3myronporter not zero, the LanguageName being passed in will 424ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao be ignored. 434ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param String Points to the new null-terminated string. 444ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param StringFontInfo Points to the new string's font information or 454ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao NULL if the string should have the default system 464ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao font, size and style. 474ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao 484ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_SUCCESS The new string was added successfully. 494ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_NOT_FOUND The specified PackageList could not be found in 504ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao database. 514ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_OUT_OF_RESOURCES Could not add the string due to lack of resources. 52af2dc6a70b9380d702bd0720cdb029d630c505e3myronporter @retval EFI_INVALID_PARAMETER String is NULL, or StringId is NULL, or Language is NULL. 534ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_INVALID_PARAMETER The specified StringFontInfo does not exist in 544ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao current database. 55d1f950002362305fcd4c30f108ef7b76679f5843yshang 56d1f950002362305fcd4c30f108ef7b76679f5843yshang**/ 57d1f950002362305fcd4c30f108ef7b76679f5843yshangtypedef 58d1f950002362305fcd4c30f108ef7b76679f5843yshangEFI_STATUS 598b13229b469f05ec22d76098b052bd6e943feceeklu(EFIAPI *EFI_HII_NEW_STRING)( 60d1f950002362305fcd4c30f108ef7b76679f5843yshang IN CONST EFI_HII_STRING_PROTOCOL *This, 617d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN EFI_HII_HANDLE PackageList, 627d582d6b499ed30268da033cc17fbde6e7b02a9dqwang OUT EFI_STRING_ID *StringId, 63d1f950002362305fcd4c30f108ef7b76679f5843yshang IN CONST CHAR8 *Language, 647d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN CONST CHAR16 *LanguageName, OPTIONAL 65d1f950002362305fcd4c30f108ef7b76679f5843yshang IN CONST EFI_STRING String, 667d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN CONST EFI_FONT_INFO *StringFontInfo OPTIONAL 67d1f950002362305fcd4c30f108ef7b76679f5843yshang); 68d1f950002362305fcd4c30f108ef7b76679f5843yshang 69d1f950002362305fcd4c30f108ef7b76679f5843yshang 70d1f950002362305fcd4c30f108ef7b76679f5843yshang/** 714ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao This function retrieves the string specified by StringId which is associated 724ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao with the specified PackageList in the language Language and copies it into 734ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao the buffer specified by String. 744ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao 754ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param This A pointer to the EFI_HII_STRING_PROTOCOL instance. 764ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param Language Points to the language for the retrieved string. 774ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param PackageList The package list in the HII database to search for 784ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao the specified string. 794ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param StringId The string's id, which is unique within 804ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao PackageList. 814ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param String Points to the new null-terminated string. 824ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param StringSize On entry, points to the size of the buffer pointed 834ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao to by String, in bytes. On return, points to the 844ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao length of the string, in bytes. 854ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param StringFontInfo If not NULL, points to the string's font 864ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao information. It's caller's responsibility to free 874ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao this buffer. 884ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao 894ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_SUCCESS The string was returned successfully. 904ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_NOT_FOUND The string specified by StringId is not available. 914ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao The specified PackageList is not in the database. 925795218e88685dea1991469ebabfe2887a3679bbEric Dong @retval EFI_INVALID_LANGUAGE The string specified by StringId is available but 935795218e88685dea1991469ebabfe2887a3679bbEric Dong not in the specified language. 944ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_BUFFER_TOO_SMALL The buffer specified by StringSize is too small to 954ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao hold the string. 965795218e88685dea1991469ebabfe2887a3679bbEric Dong @retval EFI_INVALID_PARAMETER The Language or StringSize was NULL. 975795218e88685dea1991469ebabfe2887a3679bbEric Dong @retval EFI_INVALID_PARAMETER The value referenced by StringSize was not zero and 985795218e88685dea1991469ebabfe2887a3679bbEric Dong String was NULL. 995795218e88685dea1991469ebabfe2887a3679bbEric Dong @retval EFI_OUT_OF_RESOURCES There were insufficient resources to complete the 1005795218e88685dea1991469ebabfe2887a3679bbEric Dong request. 101d1f950002362305fcd4c30f108ef7b76679f5843yshang 102d1f950002362305fcd4c30f108ef7b76679f5843yshang**/ 103d1f950002362305fcd4c30f108ef7b76679f5843yshangtypedef 104d1f950002362305fcd4c30f108ef7b76679f5843yshangEFI_STATUS 1058b13229b469f05ec22d76098b052bd6e943feceeklu(EFIAPI *EFI_HII_GET_STRING)( 106d1f950002362305fcd4c30f108ef7b76679f5843yshang IN CONST EFI_HII_STRING_PROTOCOL *This, 107d1f950002362305fcd4c30f108ef7b76679f5843yshang IN CONST CHAR8 *Language, 1087d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN EFI_HII_HANDLE PackageList, 1097d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN EFI_STRING_ID StringId, 110d1f950002362305fcd4c30f108ef7b76679f5843yshang OUT EFI_STRING String, 1117d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN OUT UINTN *StringSize, 1127d582d6b499ed30268da033cc17fbde6e7b02a9dqwang OUT EFI_FONT_INFO **StringFontInfo OPTIONAL 113d1f950002362305fcd4c30f108ef7b76679f5843yshang); 114d1f950002362305fcd4c30f108ef7b76679f5843yshang 115d1f950002362305fcd4c30f108ef7b76679f5843yshang/** 1164ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao This function updates the string specified by StringId in the specified PackageList to the text 1174ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao specified by String and, optionally, the font information specified by StringFontInfo. 1184ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao 1194ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param This A pointer to the EFI_HII_STRING_PROTOCOL instance. 1204ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param PackageList The package list containing the strings. 1214ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param StringId The string's id, which is unique within 1224ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao PackageList. 1234ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param Language Points to the language for the updated string. 1244ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param String Points to the new null-terminated string. 1254ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param StringFontInfo Points to the string's font information or NULL if 1264ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao the string font information is not changed. 1274ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao 1284ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_SUCCESS The string was updated successfully. 1294ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_NOT_FOUND The string specified by StringId is not in the 1304ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao database. 1314ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_INVALID_PARAMETER The String or Language was NULL. 1324ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_INVALID_PARAMETER The specified StringFontInfo does not exist in 1334ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao current database. 1344ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_OUT_OF_RESOURCES The system is out of resources to accomplish the 1354ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao task. 136d1f950002362305fcd4c30f108ef7b76679f5843yshang 137d1f950002362305fcd4c30f108ef7b76679f5843yshang**/ 138d1f950002362305fcd4c30f108ef7b76679f5843yshangtypedef 139d1f950002362305fcd4c30f108ef7b76679f5843yshangEFI_STATUS 1408b13229b469f05ec22d76098b052bd6e943feceeklu(EFIAPI *EFI_HII_SET_STRING)( 141d1f950002362305fcd4c30f108ef7b76679f5843yshang IN CONST EFI_HII_STRING_PROTOCOL *This, 1427d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN EFI_HII_HANDLE PackageList, 1437d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN EFI_STRING_ID StringId, 144d1f950002362305fcd4c30f108ef7b76679f5843yshang IN CONST CHAR8 *Language, 1457d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN EFI_STRING String, 146d1f950002362305fcd4c30f108ef7b76679f5843yshang IN CONST EFI_FONT_INFO *StringFontInfo OPTIONAL 147d1f950002362305fcd4c30f108ef7b76679f5843yshang); 148d1f950002362305fcd4c30f108ef7b76679f5843yshang 149d1f950002362305fcd4c30f108ef7b76679f5843yshang 150d1f950002362305fcd4c30f108ef7b76679f5843yshang/** 151d1f950002362305fcd4c30f108ef7b76679f5843yshang This function returns the list of supported languages. 152d1f950002362305fcd4c30f108ef7b76679f5843yshang 1534ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param This A pointer to the EFI_HII_STRING_PROTOCOL instance. 1544ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param PackageList The package list to examine. 1554f0779023cb4f633425a6fa8df747326336f2077lzeng @param Languages Points to the buffer to hold the returned 1564f0779023cb4f633425a6fa8df747326336f2077lzeng null-terminated ASCII string. 1574ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param LanguagesSize On entry, points to the size of the buffer pointed 1584f0779023cb4f633425a6fa8df747326336f2077lzeng to by Languages, in bytes. On return, points to 1594ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao the length of Languages, in bytes. 1604ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao 1614ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_SUCCESS The languages were returned successfully. 1625795218e88685dea1991469ebabfe2887a3679bbEric Dong @retval EFI_INVALID_PARAMETER The LanguagesSize was NULL. 1635795218e88685dea1991469ebabfe2887a3679bbEric Dong @retval EFI_INVALID_PARAMETER The value referenced by LanguagesSize is not zero 1645795218e88685dea1991469ebabfe2887a3679bbEric Dong and Languages is NULL. 1654ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_BUFFER_TOO_SMALL The LanguagesSize is too small to hold the list of 1664ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao supported languages. LanguageSize is updated to 1674ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao contain the required size. 1684ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_NOT_FOUND Could not find string package in specified 1694ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao packagelist. 170d1f950002362305fcd4c30f108ef7b76679f5843yshang 171d1f950002362305fcd4c30f108ef7b76679f5843yshang**/ 172d1f950002362305fcd4c30f108ef7b76679f5843yshangtypedef 173d1f950002362305fcd4c30f108ef7b76679f5843yshangEFI_STATUS 1748b13229b469f05ec22d76098b052bd6e943feceeklu(EFIAPI *EFI_HII_GET_LANGUAGES)( 1757d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN CONST EFI_HII_STRING_PROTOCOL *This, 1767d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN EFI_HII_HANDLE PackageList, 177d1f950002362305fcd4c30f108ef7b76679f5843yshang IN OUT CHAR8 *Languages, 1787d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN OUT UINTN *LanguagesSize 179d1f950002362305fcd4c30f108ef7b76679f5843yshang); 180d1f950002362305fcd4c30f108ef7b76679f5843yshang 181d1f950002362305fcd4c30f108ef7b76679f5843yshang 182d1f950002362305fcd4c30f108ef7b76679f5843yshang/** 1834ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao Each string package has associated with it a single primary language and zero 1844ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao or more secondary languages. This routine returns the secondary languages 1854ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao associated with a package list. 1864ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao 1874ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param This A pointer to the EFI_HII_STRING_PROTOCOL instance. 1884ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param PackageList The package list to examine. 1894f0779023cb4f633425a6fa8df747326336f2077lzeng @param PrimaryLanguage Points to the null-terminated ASCII string that specifies 1904f0779023cb4f633425a6fa8df747326336f2077lzeng the primary language. Languages are specified in the 1914f0779023cb4f633425a6fa8df747326336f2077lzeng format specified in Appendix M of the UEFI 2.0 specification. 1924f0779023cb4f633425a6fa8df747326336f2077lzeng @param SecondaryLanguages Points to the buffer to hold the returned null-terminated 1934f0779023cb4f633425a6fa8df747326336f2077lzeng ASCII string that describes the list of 1944ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao secondary languages for the specified 1954f0779023cb4f633425a6fa8df747326336f2077lzeng PrimaryLanguage. If there are no secondary 1964f0779023cb4f633425a6fa8df747326336f2077lzeng languages, the function returns successfully, but 1974ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao this is set to NULL. 1984ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @param SecondaryLanguagesSize On entry, points to the size of the buffer pointed 1994f0779023cb4f633425a6fa8df747326336f2077lzeng to by SecondaryLanguages, in bytes. On return, 2004ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao points to the length of SecondaryLanguages in bytes. 2014ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao 2024ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_SUCCESS Secondary languages were correctly returned. 2035795218e88685dea1991469ebabfe2887a3679bbEric Dong @retval EFI_INVALID_PARAMETER PrimaryLanguage or SecondaryLanguagesSize was NULL. 2045795218e88685dea1991469ebabfe2887a3679bbEric Dong @retval EFI_INVALID_PARAMETER The value referenced by SecondaryLanguagesSize is not 2055795218e88685dea1991469ebabfe2887a3679bbEric Dong zero and SecondaryLanguages is NULL. 2064ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao @retval EFI_BUFFER_TOO_SMALL The buffer specified by SecondaryLanguagesSize is 2074ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao too small to hold the returned information. 2084f0779023cb4f633425a6fa8df747326336f2077lzeng SecondaryLanguageSize is updated to hold the size of 2094ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao the buffer required. 2104f0779023cb4f633425a6fa8df747326336f2077lzeng @retval EFI_INVALID_LANGUAGE The language specified by PrimaryLanguage is not 2114ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086lgao present in the specified package list. 2125795218e88685dea1991469ebabfe2887a3679bbEric Dong @retval EFI_NOT_FOUND The specified PackageList is not in the Database. 213d1f950002362305fcd4c30f108ef7b76679f5843yshang 214d1f950002362305fcd4c30f108ef7b76679f5843yshang**/ 215d1f950002362305fcd4c30f108ef7b76679f5843yshangtypedef 216d1f950002362305fcd4c30f108ef7b76679f5843yshangEFI_STATUS 2178b13229b469f05ec22d76098b052bd6e943feceeklu(EFIAPI *EFI_HII_GET_2ND_LANGUAGES)( 2187d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN CONST EFI_HII_STRING_PROTOCOL *This, 2197d582d6b499ed30268da033cc17fbde6e7b02a9dqwang IN EFI_HII_HANDLE PackageList, 2204f0779023cb4f633425a6fa8df747326336f2077lzeng IN CONST CHAR8 *PrimaryLanguage, 2214f0779023cb4f633425a6fa8df747326336f2077lzeng IN OUT CHAR8 *SecondaryLanguages, 2224f0779023cb4f633425a6fa8df747326336f2077lzeng IN OUT UINTN *SecondaryLanguagesSize 223d1f950002362305fcd4c30f108ef7b76679f5843yshang); 224d1f950002362305fcd4c30f108ef7b76679f5843yshang 225d1f950002362305fcd4c30f108ef7b76679f5843yshang 22644717a398fddc4df1f4aeaa70bcd7a043187ed34xli/// 22744717a398fddc4df1f4aeaa70bcd7a043187ed34xli/// Services to manipulate the string. 22844717a398fddc4df1f4aeaa70bcd7a043187ed34xli/// 229d1f950002362305fcd4c30f108ef7b76679f5843yshangstruct _EFI_HII_STRING_PROTOCOL { 230d1f950002362305fcd4c30f108ef7b76679f5843yshang EFI_HII_NEW_STRING NewString; 231d1f950002362305fcd4c30f108ef7b76679f5843yshang EFI_HII_GET_STRING GetString; 232d1f950002362305fcd4c30f108ef7b76679f5843yshang EFI_HII_SET_STRING SetString; 233d1f950002362305fcd4c30f108ef7b76679f5843yshang EFI_HII_GET_LANGUAGES GetLanguages; 234d1f950002362305fcd4c30f108ef7b76679f5843yshang EFI_HII_GET_2ND_LANGUAGES GetSecondaryLanguages; 235d1f950002362305fcd4c30f108ef7b76679f5843yshang}; 236d1f950002362305fcd4c30f108ef7b76679f5843yshang 237d1f950002362305fcd4c30f108ef7b76679f5843yshang 238d1f950002362305fcd4c30f108ef7b76679f5843yshangextern EFI_GUID gEfiHiiStringProtocolGuid; 239d1f950002362305fcd4c30f108ef7b76679f5843yshang 240d1f950002362305fcd4c30f108ef7b76679f5843yshang#endif 241d1f950002362305fcd4c30f108ef7b76679f5843yshang 242