35 IN OUT CHAR8 **LangCode,
42 if ((LangCode ==
NULL) || (*LangCode ==
NULL) || (Lang ==
NULL)) {
47 StringPtr = *LangCode;
48 while (StringPtr[Index] != 0 && StringPtr[Index] !=
';') {
52 (VOID)
CopyMem (Lang, StringPtr, Index);
55 if (StringPtr[Index] ==
';') {
59 *LangCode = StringPtr + Index;
78 CHAR8 *LanguageString;
82 if (Languages ==
NULL) {
89 LanguageString = Languages;
90 while (*LanguageString != 0) {
114SMBIOS_MISC_TABLE_FUNCTION (MiscNumberOfInstallableLanguages) {
117 CHAR8 *OptionalStrStart;
127 if (RecordData ==
NULL) {
128 return EFI_INVALID_PARAMETER;
146 if (SmbiosRecord ==
NULL) {
147 return EFI_OUT_OF_RESOURCES;
154 OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);
160 if (EFI_ERROR (Status)) {
163 "[%a]:[%dL] Smbios Type13 Table Log Failed! %r \n",
UINTN EFIAPI AsciiStrLen(IN CONST CHAR8 *String)
UINTN EFIAPI AsciiStrSize(IN CONST CHAR8 *String)
RETURN_STATUS EFIAPI AsciiStrCpyS(OUT CHAR8 *Destination, IN UINTN DestMax, IN CONST CHAR8 *Source)
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
VOID *EFIAPI ZeroMem(OUT VOID *Buffer, IN UINTN Length)
VOID *EFIAPI AllocateZeroPool(IN UINTN AllocationSize)
VOID EFIAPI FreePool(IN VOID *Buffer)
CHAR8 *EFIAPI HiiGetSupportedLanguages(IN EFI_HII_HANDLE HiiHandle)
#define SMBIOS_STRING_MAX_LENGTH
#define DEBUG(Expression)
UINT16 EFIAPI GetSupportedLanguageNumber(IN EFI_HII_HANDLE HiiHandle)
VOID EFIAPI GetNextLanguage(IN OUT CHAR8 **LangCode, OUT CHAR8 *Lang)
VOID *EFIAPI AllocatePool(IN UINTN AllocationSize)
EFI_STATUS SmbiosMiscAddRecord(IN UINT8 *Buffer, IN OUT EFI_SMBIOS_HANDLE *SmbiosHandle OPTIONAL)