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