176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include <efi.h> 276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include <efilib.h> 376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 476d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanEFI_STATUS 576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanefi_main (EFI_HANDLE image, EFI_SYSTEM_TABLE *systab) 676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman{ 776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman EFI_STATUS status; 876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman CHAR16 name[256], *val, fmt[20]; 976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman EFI_GUID vendor; 1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman UINTN size; 1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman InitializeLib(image, systab); 1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman name[0] = 0; 1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman vendor = NullGuid; 1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman Print(L"GUID Variable Name Value\n"); 1876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman Print(L"=================================== ==================== ========\n"); 1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman StrCpy(fmt, L"%.-35g %.-20s %s\n"); 2176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman while (1) { 2276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman size = sizeof(name); 2376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman status = uefi_call_wrapper(RT->GetNextVariableName, 3, &size, name, &vendor); 2476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman if (status != EFI_SUCCESS) 2576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman break; 2676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman val = LibGetVariable(name, &vendor); 2876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman Print(fmt, &vendor, name, val); 2976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman FreePool(val); 3076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman } 3176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman return EFI_SUCCESS; 3276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman} 33