Home | History | Annotate | Line # | Download | only in apps
      1 /*	$NetBSD: printenv.c,v 1.1.1.1 2014/04/01 16:16:06 jakllsch Exp $	*/
      2 
      3 #include <efi.h>
      4 #include <efilib.h>
      5 
      6 EFI_STATUS
      7 efi_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