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