use crate::protocol::device_path::DevicePathProtocol; use crate::table::boot::MemoryType; use crate::table::system::SystemTable; use crate::{guid, Guid, Handle, Status}; use core::ffi::c_void; #[derive(Clone, Copy, Debug)] #[repr(C)] pub struct LoadedImageProtocol { pub revision: u32, pub parent_handle: Handle, pub system_table: *const SystemTable, // Source location of the image. pub device_handle: Handle, pub file_path: *const DevicePathProtocol, pub reserved: *const c_void, // Image load options. pub load_options_size: u32, pub load_options: *const c_void, // Location where image was loaded. pub image_base: *const c_void, pub image_size: u64, pub image_code_type: MemoryType, pub image_data_type: MemoryType, pub unload: Option Status>, } impl LoadedImageProtocol { pub const GUID: Guid = guid!("5b1b31a1-9562-11d2-8e3f-00a0c969723b"); }