uefi_raw/protocol/
memory_protection.rs1use crate::table::boot::MemoryAttribute;
2use crate::{guid, Guid, PhysicalAddress, Status};
3
4#[derive(Debug)]
5#[repr(C)]
6pub struct MemoryAttributeProtocol {
7 pub get_memory_attributes: unsafe extern "efiapi" fn(
8 this: *const Self,
9 base_address: PhysicalAddress,
10 length: u64,
11 attributes: *mut MemoryAttribute,
12 ) -> Status,
13
14 pub set_memory_attributes: unsafe extern "efiapi" fn(
15 this: *const Self,
16 base_address: PhysicalAddress,
17 length: u64,
18 attributes: MemoryAttribute,
19 ) -> Status,
20
21 pub clear_memory_attributes: unsafe extern "efiapi" fn(
22 this: *const Self,
23 base_address: PhysicalAddress,
24 length: u64,
25 attributes: MemoryAttribute,
26 ) -> Status,
27}
28
29impl MemoryAttributeProtocol {
30 pub const GUID: Guid = guid!("f4560cf6-40ec-4b4a-a192-bf1d57d0b189");
31}