kernel::cheri

Trait CPtrOps

Source
pub trait CPtrOps {
Show 15 methods // Required methods fn as_ptr(&self) -> *const (); fn set_addr_from_ddc(&mut self, _addr: usize); fn set_addr_from_pcc(&mut self, _addr: usize); fn set_addr(&mut self, _addr: usize); fn as_mut_usize(&mut self) -> &mut usize; // Provided methods fn is_valid_for_operation(&self, _length: usize, _perms: usize) -> bool { ... } fn as_ptr_checked(&self, length: usize, perms: usize) -> *const () { ... } fn set_addr_from_ddc_restricted( &mut self, addr: usize, base: usize, len: usize, perms: usize, ) { ... } fn set_addr_from_pcc_restricted( &mut self, addr: usize, base: usize, len: usize, ) { ... } fn map_or<U, F>(&self, default: U, f: F) -> U where F: FnOnce(&Self) -> U { ... } fn set_bounds(&mut self, _length: usize) { ... } fn set_bounds_exact(&mut self, _length: usize) { ... } fn and_perms(&mut self, _perms: usize) { ... } fn seal_entry(&mut self) { ... } fn set_flags(&mut self, _flags: usize) { ... }
}

Required Methods§

Source

fn as_ptr(&self) -> *const ()

Source

fn set_addr_from_ddc(&mut self, _addr: usize)

Source

fn set_addr_from_pcc(&mut self, _addr: usize)

Source

fn set_addr(&mut self, _addr: usize)

Source

fn as_mut_usize(&mut self) -> &mut usize

Provided Methods§

Source

fn is_valid_for_operation(&self, _length: usize, _perms: usize) -> bool

Source

fn as_ptr_checked(&self, length: usize, perms: usize) -> *const ()

Source

fn set_addr_from_ddc_restricted( &mut self, addr: usize, base: usize, len: usize, perms: usize, )

Source

fn set_addr_from_pcc_restricted(&mut self, addr: usize, base: usize, len: usize)

Source

fn map_or<U, F>(&self, default: U, f: F) -> U
where F: FnOnce(&Self) -> U,

Source

fn set_bounds(&mut self, _length: usize)

Source

fn set_bounds_exact(&mut self, _length: usize)

Source

fn and_perms(&mut self, _perms: usize)

Source

fn seal_entry(&mut self)

Source

fn set_flags(&mut self, _flags: usize)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl CPtrOps for usize

Source§

fn as_ptr(&self) -> *const ()

Source§

fn set_addr_from_ddc(&mut self, _addr: usize)

Source§

fn set_addr_from_pcc(&mut self, _addr: usize)

Source§

fn set_addr(&mut self, _addr: usize)

Source§

fn as_mut_usize(&mut self) -> &mut usize

Implementors§