pub struct Capability {
pub id: CapabilityId,
pub object_id: u64,
pub object_type: CapType,
pub rights: CapRights,
pub badge: u32,
pub epoch: u32,
pub parent: CapabilityId,
pub delegation_depth: u8,
}Expand description
Unforgeable capability with full delegation metadata.
This is the kernel-internal representation. CapToken is the
user-visible handle.
Fields§
§id: CapabilityIdUnique identifier for this capability.
object_id: u64The kernel object this capability authorizes access to.
object_type: CapTypeKind of object targeted.
rights: CapRightsRights granted by this capability.
badge: u32Opaque badge value carried through IPC for endpoint identification.
epoch: u32Epoch in which this capability was created (for revocation ordering).
parent: CapabilityIdParent capability from which this was derived (ROOT = root).
delegation_depth: u8Current delegation depth (decremented on each grant; 0 = non-delegable).
Trait Implementations§
Source§impl Clone for Capability
impl Clone for Capability
Source§fn clone(&self) -> Capability
fn clone(&self) -> Capability
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for Capability
Auto Trait Implementations§
impl Freeze for Capability
impl RefUnwindSafe for Capability
impl Send for Capability
impl Sync for Capability
impl Unpin for Capability
impl UnsafeUnpin for Capability
impl UnwindSafe for Capability
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