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