1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
use crate::{ base::{ EFI_STATUS, EFI_GUID, EFI_HANDLE, UINT32, UINT64, VOID, }, boot_services::EFI_MEMORY_TYPE, device_path::EFI_DEVICE_PATH_PROTOCOL, EFI_SYSTEM_TABLE }; pub const EFI_LOADED_IMAGE_PROTOCOL_GUID: EFI_GUID = EFI_GUID(0x5B1B31A1, 0x9562, 0x11d2, [0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B]); #[repr(C)] pub struct EFI_LOADED_IMAGE_PROTOCOL { pub Revision: UINT32, pub ParentHandle: EFI_HANDLE, pub SystemTable: *const EFI_SYSTEM_TABLE, pub DeviceHandle: EFI_HANDLE, pub FilePath: *const EFI_DEVICE_PATH_PROTOCOL, pub Reserved: *const VOID, pub LoadOptionsSize: UINT32, pub LoadOptions: *const VOID, pub ImageBase: *const VOID, pub ImageSize: UINT64, pub ImageCodeType: EFI_MEMORY_TYPE, pub ImageDataType: EFI_MEMORY_TYPE, pub Unload: EFI_IMAGE_UNLOAD } pub type EFI_IMAGE_UNLOAD = extern "win64" fn( Handle: EFI_HANDLE ) -> EFI_STATUS;