Imported Upstream version 3.0
[platform/upstream/gnu-efi.git] / apps / printenv.c
1 #include <efi.h>
2 #include <efilib.h>
3
4 EFI_STATUS
5 efi_main (EFI_HANDLE image, EFI_SYSTEM_TABLE *systab)
6 {
7         EFI_STATUS status;
8         CHAR16 name[256], *val, fmt[20];
9         EFI_GUID vendor;
10         UINTN size;
11
12         InitializeLib(image, systab);
13
14         name[0] = 0;
15         vendor = NullGuid;
16
17         Print(L"GUID                                Variable Name        Value\n");
18         Print(L"=================================== ==================== ========\n");
19
20         StrCpy(fmt, L"%.-35g %.-20s %s\n");
21         while (1) {
22                 size = sizeof(name);
23                 status = uefi_call_wrapper(RT->GetNextVariableName, 3, &size, name, &vendor);
24                 if (status != EFI_SUCCESS)
25                         break;
26
27                 val = LibGetVariable(name, &vendor);
28                 Print(fmt, &vendor, name, val);
29                 FreePool(val);
30         }
31         return EFI_SUCCESS;
32 }