diff options
| author | Konstantin Aladyshev <aladyshev22@gmail.com> | 2024-02-16 14:46:39 +0300 | 
|---|---|---|
| committer | Konstantin Aladyshev <aladyshev22@gmail.com> | 2024-02-16 14:46:39 +0300 | 
| commit | de14b3a46c9e2feaea1c03f6a7726e771412d2dd (patch) | |
| tree | 7bb42ad136b621422f54365b87b108c1116edb08 /UefiLessonsPkg/ShowStrings | |
| parent | ea8ae301624126b12fa8ed2e2220eddb1850e4b4 (diff) | |
| download | UEFI-Lessons-de14b3a46c9e2feaea1c03f6a7726e771412d2dd.tar.gz UEFI-Lessons-de14b3a46c9e2feaea1c03f6a7726e771412d2dd.tar.bz2 UEFI-Lessons-de14b3a46c9e2feaea1c03f6a7726e771412d2dd.zip  | |
Add simple application to dump strings from HII package
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Diffstat (limited to 'UefiLessonsPkg/ShowStrings')
| -rw-r--r-- | UefiLessonsPkg/ShowStrings/ShowStrings.c | 43 | ||||
| -rw-r--r-- | UefiLessonsPkg/ShowStrings/ShowStrings.inf | 25 | 
2 files changed, 68 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  | 
