#[repr(C)]pub struct CapabilitiesRepr<const N: usize> { /* private fields */ }
Expand description
N
must be a multiple of 4, and padded with zeros, so the whole descriptor is aligned to a
4-byte boundary.
This structure can be used to emit an ELF note section containing a list of capabilities. N
must be a
multiple of 4 (padded with CAP_PADDING
). You can define the capabilities of a task image like so:
#[used]
#[link_section = ".caps"]
pub static mut CAPS: CapabilitiesRepr<4> = CapabilitiesRepr::new([CAP_EARLY_LOGGING,
CAP_GET_FRAMEBUFFER, CAP_PADDING, CAP_PADDING]);
Implementations§
Source§impl<const N: usize> CapabilitiesRepr<N>
impl<const N: usize> CapabilitiesRepr<N>
pub const fn new(caps: [u8; N]) -> CapabilitiesRepr<N>
Auto Trait Implementations§
impl<const N: usize> Freeze for CapabilitiesRepr<N>
impl<const N: usize> RefUnwindSafe for CapabilitiesRepr<N>
impl<const N: usize> Send for CapabilitiesRepr<N>
impl<const N: usize> Sync for CapabilitiesRepr<N>
impl<const N: usize> Unpin for CapabilitiesRepr<N>
impl<const N: usize> UnwindSafe for CapabilitiesRepr<N>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can then be
further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<dyn Any>
. Rc<dyn Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Anydyn Any
. This is needed since Rust cannot
generate &Anydyn Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Anydyn Any
. This is needed since Rust cannot
generate &mut dyn Any
’s vtable from &mut Trait
’s.