Add flags to fmap by using a struct for fmap arguments.

This commit is contained in:
Jeremy Soller
2018-12-28 15:04:23 -07:00
parent f479a66884
commit 114fc92d62
9 changed files with 65 additions and 16 deletions
+25
View File
@@ -26,6 +26,31 @@ impl DerefMut for Event {
}
}
#[derive(Copy, Clone, Debug, Default)]
#[repr(C)]
pub struct Map {
pub offset: usize,
pub size: usize,
pub flags: usize,
}
impl Deref for Map {
type Target = [u8];
fn deref(&self) -> &[u8] {
unsafe {
slice::from_raw_parts(self as *const Map as *const u8, mem::size_of::<Map>()) as &[u8]
}
}
}
impl DerefMut for Map {
fn deref_mut(&mut self) -> &mut [u8] {
unsafe {
slice::from_raw_parts_mut(self as *mut Map as *mut u8, mem::size_of::<Map>()) as &mut [u8]
}
}
}
#[derive(Copy, Clone, Debug, Default)]
#[repr(C)]
pub struct Packet {