Struct kernel::processbuffer::ReadableProcessByte
source · [−]#[repr(transparent)]pub struct ReadableProcessByte { /* private fields */ }
Expand description
Read-only wrapper around a Cell
This type is used in providing the ReadableProcessSlice
. The
memory over which a ReadableProcessSlice
exists must never be
written to by the kernel. However, it may either exist in flash
(read-only memory) or RAM (read-writeable memory). Consequently, a
process may allow
memory overlapping with a
ReadOnlyProcessBuffer
also simultaneously through a
ReadWriteProcessBuffer
. Hence, the kernel can have two
references to the same memory, where one can lead to mutation of
the memory contents. Therefore, the kernel must use Cell
s
around the bytes shared with userspace, to avoid violating Rust’s
aliasing rules.
This read-only wrapper around a Cell
only exposes methods
which are safe to call on a process-shared read-only allow
memory.
Implementations
Auto Trait Implementations
impl !RefUnwindSafe for ReadableProcessByte
impl Send for ReadableProcessByte
impl !Sync for ReadableProcessByte
impl Unpin for ReadableProcessByte
impl UnwindSafe for ReadableProcessByte
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more