mmap wrapper
A common use case for mmap in C is to cast the mmap backed region to a struct:
MyStruct* mmap_backed_mystruct;
int fd;
fd = ;
;
mmap_backed_mystruct = ;
Example
This is a helpful wrapper for the same usecase:
use MmapWrapper;
// Your struct MUST have a consistent memory layout.
// Use either #[repr(transparent)] or #[repr(C)].
let f = options
.read
.write
.create
.truncate
.open
.unwrap;
let _ = f.set_len;
let m = unsafe ;
let m_wrapper = unsafe ;
let mmap_backed_mystruct = m_wrapper.get_inner;
no_std Example
use MmapWrapper;
// Your struct MUST have a consistent memory layout.
// Use either #[repr(transparent)] or #[repr(C)].
let m_wrapper = unsafe ;
let mmap_backed_mystruct = m_wrapper.get_inner;