diff options
Diffstat (limited to 'UefiLessonsPkg')
| -rw-r--r-- | UefiLessonsPkg/ShowStrings/ShowStrings.c | 43 | ||||
| -rw-r--r-- | UefiLessonsPkg/ShowStrings/ShowStrings.inf | 25 | ||||
| -rw-r--r-- | UefiLessonsPkg/UefiLessonsPkg.dsc | 1 | 
3 files changed, 69 insertions, 0 deletions
diff --git a/UefiLessonsPkg/ShowStrings/ShowStrings.c b/UefiLessonsPkg/ShowStrings/ShowStrings.c new file mode 100644 index 0000000..00d0625 --- /dev/null +++ b/UefiLessonsPkg/ShowStrings/ShowStrings.c @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2024, Konstantin Aladyshev <aladyshev22@gmail.com> + * + * SPDX-License-Identifier: MIT + */ + +#include <Library/UefiBootServicesTableLib.h> +#include <Library/UefiLib.h> +#include <Library/HiiLib.h> +#include <Library/MemoryAllocationLib.h> + + +INTN +EFIAPI +ShellAppMain ( +  IN UINTN Argc, +  IN CHAR16 **Argv +  ) +{ +  if (Argc != 2) { +    Print(L"Usage:\n"); +    Print(L"  ShowStrings [Package GUID]\n"); +    return EFI_INVALID_PARAMETER; +  } + +  EFI_GUID PackageGuid; +  EFI_STATUS Status = StrToGuid(Argv[1], &PackageGuid); +  if (Status != RETURN_SUCCESS) { +    Print(L"Error! Can't convert <Package GUID> argument to GUID\n"); +    return EFI_INVALID_PARAMETER; +  } + +  EFI_HII_HANDLE* Handle = HiiGetHiiHandles(&PackageGuid); + +  for (UINTN i=1; i<0xFFFF; i++) { +    EFI_STRING String = HiiGetString(*Handle, i, "en-US"); +    if (String != NULL) { +      Print(L"ID=%d, %s\n", i, String); +      FreePool(String); +    } +  } +  return EFI_SUCCESS; +} diff --git a/UefiLessonsPkg/ShowStrings/ShowStrings.inf b/UefiLessonsPkg/ShowStrings/ShowStrings.inf new file mode 100644 index 0000000..c5e8206 --- /dev/null +++ b/UefiLessonsPkg/ShowStrings/ShowStrings.inf @@ -0,0 +1,25 @@ +## +# Copyright (c) 2024, Konstantin Aladyshev <aladyshev22@gmail.com> +# +# SPDX-License-Identifier: MIT +## + +[Defines] +  INF_VERSION                    = 1.25 +  BASE_NAME                      = ShowStrings +  FILE_GUID                      = ae4c1ff2-5621-4e53-a5f8-e4652b457661 +  MODULE_TYPE                    = UEFI_APPLICATION +  VERSION_STRING                 = 1.0 +  ENTRY_POINT                    = ShellCEntryLib + +[Sources] +  ShowStrings.c + +[Packages] +  MdePkg/MdePkg.dec +  MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] +  ShellCEntryLib +  UefiLib +  HiiLib diff --git a/UefiLessonsPkg/UefiLessonsPkg.dsc b/UefiLessonsPkg/UefiLessonsPkg.dsc index 970b5a6..c7bdde8 100644 --- a/UefiLessonsPkg/UefiLessonsPkg.dsc +++ b/UefiLessonsPkg/UefiLessonsPkg.dsc @@ -94,6 +94,7 @@    UefiLessonsPkg/HiddenSettings/HiddenSettings.inf    UefiLessonsPkg/ShowHIIext/ShowHIIext.inf    UefiLessonsPkg/ProtocolEventDriver/ProtocolEventDriver.inf +  UefiLessonsPkg/ShowStrings/ShowStrings.inf  #[PcdsFixedAtBuild]  #  gUefiLessonsPkgTokenSpaceGuid.PcdInt8|0x88|UINT8|0x3B81CDF1  | 
