pub trait Mapper {
// Required methods
unsafe fn map_aligned(
&mut self,
address: PhysicalAddress,
size: usize,
) -> Result<VirtualAddress, &'static str>;
unsafe fn unmap_aligned(
&mut self,
address: VirtualAddress,
size: usize,
) -> Result<(), &'static str>;
fn page_size(&self) -> usize;
// Provided methods
unsafe fn map(
&mut self,
address: PhysicalAddress,
size: usize,
) -> Result<VirtualAddress, &'static str> { ... }
unsafe fn unmap(
&mut self,
address: VirtualAddress,
size: usize,
) -> Result<(), &'static str> { ... }
}Required Methods§
unsafe fn map_aligned( &mut self, address: PhysicalAddress, size: usize, ) -> Result<VirtualAddress, &'static str>
unsafe fn unmap_aligned( &mut self, address: VirtualAddress, size: usize, ) -> Result<(), &'static str>
fn page_size(&self) -> usize
Provided Methods§
unsafe fn map( &mut self, address: PhysicalAddress, size: usize, ) -> Result<VirtualAddress, &'static str>
unsafe fn unmap( &mut self, address: VirtualAddress, size: usize, ) -> Result<(), &'static str>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".