1 use crate::protocol::device_path::DevicePathProtocol; 2 use crate::{guid, Guid, Status}; 3 use core::ffi::c_void; 4 5 #[derive(Debug)] 6 #[repr(C)] 7 pub struct LoadFileProtocol { 8 pub load_file: unsafe extern "efiapi" fn( 9 this: *mut LoadFileProtocol, 10 file_path: *const DevicePathProtocol, 11 boot_policy: bool, 12 buffer_size: *mut usize, 13 buffer: *mut c_void, 14 ) -> Status, 15 } 16 17 impl LoadFileProtocol { 18 pub const GUID: Guid = guid!("56ec3091-954c-11d2-8e3f-00a0c969723b"); 19 } 20 21 #[derive(Debug)] 22 #[repr(C)] 23 pub struct LoadFile2Protocol { 24 pub load_file: unsafe extern "efiapi" fn( 25 this: *mut LoadFile2Protocol, 26 file_path: *const DevicePathProtocol, 27 boot_policy: bool, 28 buffer_size: *mut usize, 29 buffer: *mut c_void, 30 ) -> Status, 31 } 32 33 impl LoadFile2Protocol { 34 pub const GUID: Guid = guid!("4006c0c1-fcb3-403e-996d-4a6c8724e06d"); 35 } 36