use crate::table::boot::MemoryAttribute; use crate::{guid, Guid, PhysicalAddress, Status}; #[derive(Debug)] #[repr(C)] pub struct MemoryAttributeProtocol { pub get_memory_attributes: unsafe extern "efiapi" fn( this: *const Self, base_address: PhysicalAddress, length: u64, attributes: *mut MemoryAttribute, ) -> Status, pub set_memory_attributes: unsafe extern "efiapi" fn( this: *const Self, base_address: PhysicalAddress, length: u64, attributes: MemoryAttribute, ) -> Status, pub clear_memory_attributes: unsafe extern "efiapi" fn( this: *const Self, base_address: PhysicalAddress, length: u64, attributes: MemoryAttribute, ) -> Status, } impl MemoryAttributeProtocol { pub const GUID: Guid = guid!("f4560cf6-40ec-4b4a-a192-bf1d57d0b189"); }