pub struct IpcCapability { /* private fields */ }Expand description
IPC capability structure
64-bit capability token format:
- Bits 63-48: Generation counter (for revocation)
- Bits 47-32: Capability type
- Bits 31-0: Unique ID
Implementations§
Source§impl IpcCapability
impl IpcCapability
Sourcepub fn new(target: EndpointId, permissions: IpcPermissions) -> Self
pub fn new(target: EndpointId, permissions: IpcPermissions) -> Self
Create a new capability
Sourcepub fn generation(&self) -> u16
pub fn generation(&self) -> u16
Get the generation counter
Sourcepub fn cap_type(&self) -> CapabilityType
pub fn cap_type(&self) -> CapabilityType
Get the capability type
Sourcepub fn target(&self) -> EndpointId
pub fn target(&self) -> EndpointId
Get the target endpoint/process
Sourcepub fn has_permission(&self, perm: Permission) -> bool
pub fn has_permission(&self, perm: Permission) -> bool
Check if capability has specific permission
Sourcepub fn derive(&self, new_perms: IpcPermissions) -> Option<Self>
pub fn derive(&self, new_perms: IpcPermissions) -> Option<Self>
Derive a new capability with reduced permissions
Trait Implementations§
Source§impl Clone for IpcCapability
impl Clone for IpcCapability
Source§fn clone(&self) -> IpcCapability
fn clone(&self) -> IpcCapability
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IpcCapability
impl Debug for IpcCapability
Source§impl PartialEq for IpcCapability
impl PartialEq for IpcCapability
impl Copy for IpcCapability
impl Eq for IpcCapability
impl StructuralPartialEq for IpcCapability
Auto Trait Implementations§
impl Freeze for IpcCapability
impl RefUnwindSafe for IpcCapability
impl Send for IpcCapability
impl Sync for IpcCapability
impl Unpin for IpcCapability
impl UnwindSafe for IpcCapability
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)