Home | History | Annotate | Line # | Download | only in apps
      1  1.1  jakllsch /*	$NetBSD: t6.c,v 1.1.1.1 2014/04/01 16:16:06 jakllsch Exp $	*/
      2  1.1  jakllsch 
      3  1.1  jakllsch #include <efi.h>
      4  1.1  jakllsch #include <efilib.h>
      5  1.1  jakllsch 
      6  1.1  jakllsch typedef EFI_STATUS (*foo_t)(EFI_HANDLE, EFI_GUID *, VOID **);
      7  1.1  jakllsch typedef struct {
      8  1.1  jakllsch 	unsigned long addr;
      9  1.1  jakllsch 	unsigned long gp;
     10  1.1  jakllsch } fdesc_t;
     11  1.1  jakllsch 
     12  1.1  jakllsch EFI_LOADED_IMAGE my_loaded;
     13  1.1  jakllsch 
     14  1.1  jakllsch EFI_STATUS
     15  1.1  jakllsch efi_main (EFI_HANDLE image, EFI_SYSTEM_TABLE *systab)
     16  1.1  jakllsch {
     17  1.1  jakllsch 	EFI_LOADED_IMAGE *loaded_image = NULL;
     18  1.1  jakllsch #if 0
     19  1.1  jakllsch 	EFI_DEVICE_PATH *dev_path;
     20  1.1  jakllsch #endif
     21  1.1  jakllsch 	EFI_STATUS status;
     22  1.1  jakllsch 
     23  1.1  jakllsch 	InitializeLib(image, systab);
     24  1.1  jakllsch 	status = uefi_call_wrapper(systab->BootServices->HandleProtocol,
     25  1.1  jakllsch 				3,
     26  1.1  jakllsch 				image,
     27  1.1  jakllsch 				&LoadedImageProtocol,
     28  1.1  jakllsch 				(void **) &loaded_image);
     29  1.1  jakllsch 	if (EFI_ERROR(status)) {
     30  1.1  jakllsch 		Print(L"handleprotocol: %r\n", status);
     31  1.1  jakllsch 	}
     32  1.1  jakllsch 
     33  1.1  jakllsch #if 0
     34  1.1  jakllsch 	BS->HandleProtocol(loaded_image->DeviceHandle, &DevicePathProtocol, (void **) &dev_path);
     35  1.1  jakllsch 
     36  1.1  jakllsch 	Print(L"Image device      : %s\n", DevicePathToStr(dev_path));
     37  1.1  jakllsch 	Print(L"Image file        : %s\n", DevicePathToStr(loaded_image->FilePath));
     38  1.1  jakllsch #endif
     39  1.1  jakllsch 	Print(L"Image base        : %lx\n", loaded_image->ImageBase);
     40  1.1  jakllsch 	Print(L"Image size        : %lx\n", loaded_image->ImageSize);
     41  1.1  jakllsch 	Print(L"Load options size : %lx\n", loaded_image->LoadOptionsSize);
     42  1.1  jakllsch 	Print(L"Load options      : %s\n", loaded_image->LoadOptions);
     43  1.1  jakllsch 
     44  1.1  jakllsch 	return EFI_SUCCESS;
     45  1.1  jakllsch }
     46