[−][src]Struct sunrise_libuser::types::SharedMemory
A handle to memory that may be mapped in multiple processes at the same time.
Special care should be used to ensure multiple processes do not write to the memory at the same time, or only does so through the use of atomic operations. Otherwise, UB will occur!
Implementations
impl SharedMemory
[src]
pub fn new(
length: usize,
myperm: MemoryPermissions,
otherperm: MemoryPermissions
) -> Result<SharedMemory, Error>
[src]
length: usize,
myperm: MemoryPermissions,
otherperm: MemoryPermissions
) -> Result<SharedMemory, Error>
Creates a new Shared Memory handle. The physical memory underlying this
shared memory will span length
bytes.
Myperm and otherperm are masks of which permissions are allowed when mapping the shared memory in the current process and other processes respectively.
pub fn map(
self,
addr: usize,
size: usize,
perm: MemoryPermissions
) -> Result<MappedSharedMemory, Error>
[src]
self,
addr: usize,
size: usize,
perm: MemoryPermissions
) -> Result<MappedSharedMemory, Error>
Maps the current shared memory at the given address, consuming the handle and returning a MappedMemoryRegion. Note that the size must be equal to the length of the SharedMemory.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for SharedMemory
impl Send for SharedMemory
impl Sync for SharedMemory
impl Unpin for SharedMemory
impl UnwindSafe for SharedMemory
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SizedIPCBuffer for T
[src]
fn size(&Self) -> usize
[src]
fn is_cool(usize, usize) -> bool
[src]
unsafe fn from_raw_parts<'a>(usize, usize) -> &'a T
[src]
unsafe fn from_raw_parts_mut<'a>(usize, usize) -> &'a mut T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,