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