capsules_system::storage_permissions::tbf_header

Struct TbfHeaderStoragePermissions

Source
pub struct TbfHeaderStoragePermissions<C: Chip, D: ProcessStandardDebug, CAP: ApplicationStorageCapability> { /* private fields */ }
Expand description

Assign storage permissions based on the fields in the application’s TBF header.

If the process does not have a fixed ShortId then it cannot have storage permissions and will get null permissions.

If the header is not present, then the process will be assigned null permissions.

Implementations§

Trait Implementations§

Source§

impl<C: Chip, D: ProcessStandardDebug, CAP: ApplicationStorageCapability> ProcessStandardStoragePermissionsPolicy<C, D> for TbfHeaderStoragePermissions<C, D, CAP>

Source§

fn get_permissions( &self, process: &ProcessStandard<'_, C, D>, ) -> StoragePermissions

Return the storage permissions for the specified process.

Auto Trait Implementations§

§

impl<C, D, CAP> Freeze for TbfHeaderStoragePermissions<C, D, CAP>
where CAP: Freeze,

§

impl<C, D, CAP> RefUnwindSafe for TbfHeaderStoragePermissions<C, D, CAP>

§

impl<C, D, CAP> Send for TbfHeaderStoragePermissions<C, D, CAP>
where CAP: Send, C: Send, D: Send,

§

impl<C, D, CAP> Sync for TbfHeaderStoragePermissions<C, D, CAP>
where CAP: Sync, C: Sync, D: Sync,

§

impl<C, D, CAP> Unpin for TbfHeaderStoragePermissions<C, D, CAP>
where CAP: Unpin, C: Unpin, D: Unpin,

§

impl<C, D, CAP> UnwindSafe for TbfHeaderStoragePermissions<C, D, CAP>
where CAP: UnwindSafe, C: UnwindSafe, D: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.