rutabaga_gfx/rutabaga_os/
memory_mapping.rs
1use crate::rutabaga_os::sys::platform::MemoryMapping as PlatformMapping;
6use crate::rutabaga_os::SafeDescriptor;
7use crate::rutabaga_utils::RutabagaMapping;
8use crate::rutabaga_utils::RutabagaResult;
9
10pub struct MemoryMapping {
11 mapping: PlatformMapping,
12}
13
14impl MemoryMapping {
15 pub fn from_safe_descriptor(
16 descriptor: SafeDescriptor,
17 size: usize,
18 map_info: u32,
19 ) -> RutabagaResult<MemoryMapping> {
20 let mapping = PlatformMapping::from_safe_descriptor(descriptor, size, map_info)?;
21 Ok(MemoryMapping { mapping })
22 }
23
24 pub fn as_rutabaga_mapping(&self) -> RutabagaMapping {
25 RutabagaMapping {
26 ptr: self.mapping.addr as u64,
27 size: self.mapping.size as u64,
28 }
29 }
30}