]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Vlv2TbltDevicePkg/SmBiosMiscDxe/MiscNumberOfInstallableLanguagesFunction.c
edk2: Remove packages moved to edk2-platforms
[mirror_edk2.git] / Vlv2TbltDevicePkg / SmBiosMiscDxe / MiscNumberOfInstallableLanguagesFunction.c
diff --git a/Vlv2TbltDevicePkg/SmBiosMiscDxe/MiscNumberOfInstallableLanguagesFunction.c b/Vlv2TbltDevicePkg/SmBiosMiscDxe/MiscNumberOfInstallableLanguagesFunction.c
deleted file mode 100644 (file)
index 4a96a2c..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-/*++\r
-\r
-Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>\r
-\r
-\r
-  SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-\r
-\r
-\r
-\r
-Module Name:\r
-\r
-  MiscNumberOfInstallableLanguagesFunction.c\r
-\r
-Abstract:\r
-\r
-  This driver parses the mSmbiosMiscDataTable structure and reports\r
-  any generated data.\r
-\r
---*/\r
-\r
-\r
-#include "CommonHeader.h"\r
-\r
-#include "MiscSubclassDriver.h"\r
-\r
-/**\r
-  Check whether the language is supported for given HII handle\r
-\r
-  @param   HiiHandle     The HII package list handle.\r
-  @param   Offset        The offest of current lanague in the supported languages.\r
-  @param   CurrentLang   The language code.\r
-\r
-  @retval  TRUE          Supported.\r
-  @retval  FALSE         Not Supported.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-CurrentLanguageMatch (\r
-  IN  EFI_HII_HANDLE                   HiiHandle,\r
-  OUT UINT16                           *Offset,\r
-  OUT CHAR8                            *CurrentLang\r
-  )\r
-{\r
-  CHAR8     *DefaultLang;\r
-  CHAR8     *BestLanguage;\r
-  CHAR8     *Languages;\r
-  CHAR8     *MatchLang;\r
-  CHAR8     *EndMatchLang;\r
-  UINTN     CompareLength;\r
-\r
-  Languages = HiiGetSupportedLanguages (HiiHandle);\r
-  if (Languages == NULL) {\r
-    return;\r
-  }\r
-\r
-  CurrentLang  = GetEfiGlobalVariable (L"PlatformLang");\r
-  DefaultLang  = (CHAR8 *) PcdGetPtr (PcdUefiVariableDefaultPlatformLang);\r
-  BestLanguage = GetBestLanguage (\r
-                   Languages,\r
-                   FALSE,\r
-                   (CurrentLang != NULL) ? CurrentLang : "",\r
-                   DefaultLang,\r
-                   NULL\r
-                   );\r
-  if (BestLanguage != NULL) {\r
-    //\r
-    // Find the best matching RFC 4646 language, compute the offset.\r
-    //\r
-    CompareLength = AsciiStrLen (BestLanguage);\r
-    for (MatchLang = Languages, (*Offset) = 0; *MatchLang != '\0'; (*Offset)++) {\r
-      //\r
-      // Seek to the end of current match language.\r
-      //\r
-      for (EndMatchLang = MatchLang; *EndMatchLang != '\0' && *EndMatchLang != ';'; EndMatchLang++);\r
-\r
-      if ((EndMatchLang == MatchLang + CompareLength) && AsciiStrnCmp(MatchLang, BestLanguage, CompareLength) == 0) {\r
-        //\r
-        // Find the current best Language in the supported languages\r
-        //\r
-        break;\r
-      }\r
-      //\r
-      // best language match be in the supported language.\r
-      //\r
-      ASSERT (*EndMatchLang == ';');\r
-      MatchLang = EndMatchLang + 1;\r
-    }\r
-    FreePool (BestLanguage);\r
-  }\r
-\r
-  FreePool (Languages);\r
-  if (CurrentLang != NULL) {\r
-    FreePool (CurrentLang);\r
-  }\r
-  return ;\r
-}\r
-\r
-\r
-/**\r
-  Get next language from language code list (with separator ';').\r
-\r
-  @param  LangCode       Input: point to first language in the list. On\r
-                         Otput: 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
-  UINTN  Index;\r
-  CHAR8  *StringPtr;\r
-\r
-  ASSERT (LangCode != NULL);\r
-  ASSERT (*LangCode != NULL);\r
-  ASSERT (Lang != NULL);\r
-\r
-  Index     = 0;\r
-  StringPtr = *LangCode;\r
-  while (StringPtr[Index] != 0 && StringPtr[Index] != ';') {\r
-    Index++;\r
-  }\r
-\r
-  CopyMem (Lang, StringPtr, Index);\r
-  Lang[Index] = 0;\r
-\r
-  if (StringPtr[Index] == ';') {\r
-    Index++;\r
-  }\r
-  *LangCode = StringPtr + Index;\r
-}\r
-\r
-/**\r
-  This function returns the number of supported languages on HiiHandle.\r
-\r
-  @param   HiiHandle    The HII package list handle.\r
-\r
-  @retval  The number of supported languages.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-GetSupportedLanguageNumber (\r
-  IN EFI_HII_HANDLE    HiiHandle\r
-  )\r
-{\r
-  CHAR8   *Lang;\r
-  CHAR8   *Languages;\r
-  CHAR8   *LanguageString;\r
-  UINT16  LangNumber;\r
-\r
-  Languages = HiiGetSupportedLanguages (HiiHandle);\r
-  if (Languages == NULL) {\r
-    return 0;\r
-  }\r
-\r
-  LangNumber = 0;\r
-  Lang = AllocatePool (AsciiStrSize (Languages));\r
-  if (Lang != NULL) {\r
-    LanguageString = Languages;\r
-    while (*LanguageString != 0) {\r
-      GetNextLanguage (&LanguageString, Lang);\r
-      LangNumber++;\r
-    }\r
-    FreePool (Lang);\r
-  }\r
-  FreePool (Languages);\r
-  return LangNumber;\r
-}\r
-\r
-\r
-/**\r
-  This function makes boot time changes to the contents of the\r
-  MiscNumberOfInstallableLanguages (Type 13).\r
-\r
-  @param  RecordData                 Pointer to copy of RecordData from the Data Table.\r
-\r
-  @retval EFI_SUCCESS                All parameters were valid.\r
-  @retval EFI_UNSUPPORTED            Unexpected RecordType value.\r
-  @retval EFI_INVALID_PARAMETER      Invalid parameter was found.\r
-\r
-**/\r
-MISC_SMBIOS_TABLE_FUNCTION(NumberOfInstallableLanguages)\r
-{\r
-  UINTN                                     LangStrLen;\r
-  CHAR8                                     CurrentLang[SMBIOS_STRING_MAX_LENGTH + 1];\r
-  CHAR8                                     *OptionalStrStart;\r
-  UINT16                                    Offset;\r
-  EFI_STATUS                                Status;\r
-  EFI_SMBIOS_HANDLE                         SmbiosHandle;\r
-  SMBIOS_TABLE_TYPE13                       *SmbiosRecord;\r
-  EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES  *ForType13InputData;\r
-\r
-  ForType13InputData = (EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES *)RecordData;\r
-\r
-  //\r
-  // First check for invalid parameters.\r
-  //\r
-  if (RecordData == NULL) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  ForType13InputData->NumberOfInstallableLanguages = GetSupportedLanguageNumber (mHiiHandle);\r
-\r
-  //\r
-  // Try to check if current langcode matches with the langcodes in installed languages\r
-  //\r
-  ZeroMem(CurrentLang, SMBIOS_STRING_MAX_LENGTH + 1);\r
-  CurrentLanguageMatch (mHiiHandle, &Offset, CurrentLang);\r
-  LangStrLen = AsciiStrLen(CurrentLang);\r
-\r
-  //\r
-  // Two zeros following the last string.\r
-  //\r
-  SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE13) + LangStrLen + 1 + 1);\r
-  ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE13) + LangStrLen + 1 + 1);\r
-\r
-  SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_BIOS_LANGUAGE_INFORMATION;\r
-  SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE13);\r
-\r
-  //\r
-  // Make handle chosen by smbios protocol.add automatically.\r
-  //\r
-  SmbiosRecord->Hdr.Handle = 0;\r
-\r
-  SmbiosRecord->InstallableLanguages = (UINT8)ForType13InputData->NumberOfInstallableLanguages;\r
-  SmbiosRecord->Flags = (UINT8)ForType13InputData->LanguageFlags.AbbreviatedLanguageFormat;\r
-  SmbiosRecord->CurrentLanguages = 1;\r
-  OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);\r
-  AsciiStrCpy(OptionalStrStart, CurrentLang);\r
-\r
-  //\r
-  // Now we have got the full smbios record, call smbios protocol to add this record.\r
-  //\r
-  SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;\r
-  Status = Smbios-> Add(\r
-                      Smbios,\r
-                      NULL,\r
-                      &SmbiosHandle,\r
-                      (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord\r
-                      );\r
-  FreePool(SmbiosRecord);\r
-  return Status;\r
-}\r