#include <Library/UefiRuntimeServicesTableLib.h>\r
#include <Library/HiiLib.h>\r
#include <Library/UefiLib.h>\r
-\r
-#include <Library/IfrSupportLib.h>\r
-#include <Library/ExtendedIfrSupportLib.h>\r
#include <Library/PcdLib.h>\r
\r
#include <Guid/MdeModuleHii.h>\r
///\r
#define ISO_639_2_ENTRY_SIZE 3\r
\r
-\r
-\r
#pragma pack (1)\r
typedef struct {\r
EFI_HII_PACK_HEADER FrameworkPackageHeader;\r
\r
EFI_STATUS\r
EFIAPI\r
-HiiGetString (\r
+HiiThunkGetString (\r
IN EFI_HII_PROTOCOL *This,\r
IN FRAMEWORK_EFI_HII_HANDLE Handle,\r
IN STRING_REF Token,\r
\r
EFI_STATUS\r
EFIAPI\r
-HiiUpdateForm (\r
+HiiThunkUpdateForm (\r
IN EFI_HII_PROTOCOL *This,\r
IN FRAMEWORK_EFI_HII_HANDLE Handle,\r
IN EFI_FORM_LABEL Label,\r
EFI_STATUS\r
EFIAPI \r
ThunkCreatePopUp (\r
- IN UINTN NumberOfLines,\r
+ IN UINTN LinesNumber,\r
IN BOOLEAN HotKey,\r
IN UINTN MaximumStringSize,\r
OUT CHAR16 *StringBuffer,\r
- OUT EFI_INPUT_KEY *KeyValue,\r
- IN CHAR16 *String,\r
+ OUT EFI_INPUT_KEY *Key,\r
+ IN CHAR16 *FirstString,\r
...\r
);\r
\r
);\r
\r
/**\r
- Create a EFI_HII_UPDATE_DATA structure used to call IfrLibUpdateForm.\r
+ Create a Hii Update data Handle used to call IfrLibUpdateForm.\r
\r
- @param ThunkContext The HII Thunk Context.\r
- @param FwUpdateData The Framework Update Data.\r
- @param UefiUpdateData The UEFI Update Data.\r
+ @param ThunkContext The HII Thunk Context.\r
+ @param FwUpdateData The Framework Update Data.\r
+ @param UefiOpCodeHandle The UEFI Update Data.\r
\r
@retval EFI_SUCCESS The UEFI Update Data is created successfully.\r
@retval EFI_UNSUPPORTED There is unsupported opcode in FwUpdateData.\r
FwUpdateDataToUefiUpdateData (\r
IN HII_THUNK_CONTEXT *ThunkContext,\r
IN CONST FRAMEWORK_EFI_HII_UPDATE_DATA *FwUpdateData,\r
- OUT EFI_HII_UPDATE_DATA **UefiUpdateData\r
+ IN VOID *UefiOpCodeHandle\r
)\r
;\r
\r
)\r
;\r
\r
+/**\r
+ Convert language code from RFC3066 to ISO639-2.\r
+\r
+ LanguageRfc3066 contain a single RFC 3066 code such as\r
+ "en-US" or "fr-FR".\r
+\r
+ The LanguageRfc3066 must be a buffer large enough\r
+ for ISO_639_2_ENTRY_SIZE characters.\r
+\r
+ If LanguageRfc3066 is NULL, then ASSERT.\r
+ If LanguageIso639 is NULL, then ASSERT.\r
+\r
+ @param LanguageRfc3066 RFC3066 language code.\r
+ @param LanguageIso639 ISO639-2 language code.\r
+\r
+ @retval EFI_SUCCESS Language code converted.\r
+ @retval EFI_NOT_FOUND Language code not found.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+ConvertRfc3066LanguageToIso639Language (\r
+ IN CHAR8 *LanguageRfc3066,\r
+ OUT CHAR8 *LanguageIso639\r
+ )\r
+;\r
+\r
+/**\r
+ Convert language code from ISO639-2 to RFC3066 and return the converted language.\r
+ Caller is responsible for freeing the allocated buffer.\r
+\r
+ LanguageIso639 contain a single ISO639-2 code such as\r
+ "eng" or "fra".\r
+\r
+ If LanguageIso639 is NULL, then ASSERT.\r
+ If LanguageRfc3066 is NULL, then ASSERT.\r
+\r
+ @param LanguageIso639 ISO639-2 language code.\r
+\r
+ @return the allocated buffer or NULL, if the language is not found.\r
+\r
+**/\r
+CHAR8*\r
+EFIAPI\r
+ConvertIso639LanguageToRfc3066Language (\r
+ IN CONST CHAR8 *LanguageIso639\r
+ )\r
+;\r
+\r
+/**\r
+ Get next language from language code list (with separator ';').\r
+\r
+ If LangCode is NULL, then ASSERT.\r
+ If Lang is NULL, then ASSERT.\r
+\r
+ @param LangCode On input: point to first language in the list. On\r
+ output: point to next language in the list, or\r
+ NULL if no more language in the list.\r
+ @param Lang The first language in the list.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+GetNextLanguage (\r
+ IN OUT CHAR8 **LangCode,\r
+ OUT CHAR8 *Lang\r
+ )\r
+;\r
+\r
#include "Utility.h"\r
#include "ConfigAccess.h"\r
\r