Struct zircon_object::object::Rights [−][src]
Rights are associated with handles and convey privileges to perform actions on either the associated handle or the object associated with the handle.
Implementations
impl Rights[src]
pub const DUPLICATE: Rights[src]
Allows handle duplication via zx_handle_duplicate().
pub const TRANSFER: Rights[src]
Allows handle transfer via zx_channel_write().
pub const READ: Rights[src]
Allows reading of data from containers (channels, sockets, VM objects, etc).
Allows mapping as readable if Rights::MAP is also present.
pub const WRITE: Rights[src]
Allows writing of data to containers (channels, sockets, VM objects, etc).
Allows mapping as writeable if Rights::MAP is also present.
pub const EXECUTE: Rights[src]
Allows mapping as executable if Rights::MAP is also present.
pub const MAP: Rights[src]
Allows mapping of a VM object into an address space.
pub const GET_PROPERTY: Rights[src]
Allows property inspection via zx_object_get_property().
pub const SET_PROPERTY: Rights[src]
Allows property modification via zx_object_set_property().
pub const ENUMERATE: Rights[src]
Allows enumerating child objects via zx_object_get_info() and zx_object_get_child().
pub const DESTROY: Rights[src]
Allows termination of task objects via zx_task_kill().
pub const SET_POLICY: Rights[src]
Allows policy modification via zx_job_set_policy().
pub const GET_POLICY: Rights[src]
Allows policy inspection via zx_job_get_policy().
pub const SIGNAL: Rights[src]
Allows use of zx_object_signal().
pub const SIGNAL_PEER: Rights[src]
Allows use of zx_object_signal_peer().
pub const WAIT: Rights[src]
Allows use of zx_object_wait_one(), zx_object_wait_many(), and other waiting primitives.
pub const INSPECT: Rights[src]
Allows inspection via zx_object_get_info().
pub const MANAGE_JOB: Rights[src]
Allows creation of processes, subjobs, etc.
pub const MANAGE_PROCESS: Rights[src]
Allows creation of threads, etc.
pub const MANAGE_THREAD: Rights[src]
Allows suspending/resuming threads, etc.
pub const APPLY_PROFILE: Rights[src]
Not used.
pub const SAME_RIGHTS: Rights[src]
Used to duplicate a handle with the same rights.
pub const BASIC: Rights[src]
TRANSFER | DUPLICATE | WAIT | INSPECT
pub const IO: Rights[src]
READ | WRITE
pub const PROPERTY: Rights[src]
GET_PROPERTY | SET_PROPERTY
pub const POLICY: Rights[src]
GET_POLICY | SET_POLICY
pub const DEFAULT_CHANNEL: Rights[src]
BASIC & !Self::DUPLICATE | IO | SIGNAL | SIGNAL_PEER
pub const DEFAULT_PROCESS: Rights[src]
BASIC | IO | PROPERTY | ENUMERATE | DESTROY | SIGNAL | MANAGE_PROCESS | MANAGE_THREAD
pub const DEFAULT_THREAD: Rights[src]
BASIC | IO | PROPERTY | DESTROY | SIGNAL | MANAGE_THREAD
pub const DEFAULT_VMO: Rights[src]
BASIC | IO | PROPERTY | MAP | SIGNAL
pub const DEFAULT_VMAR: Rights[src]
BASIC | WAIT
pub const DEFAULT_JOB: Rights[src]
BASIC | IO | PROPERTY | POLICY | ENUMERATE | DESTROY | SIGNAL | MANAGE_JOB | MANAGE_PROCESS | MANAGE_THREAD
pub const DEFAULT_RESOURCE: Rights[src]
TRANSFER | DUPLICATE | WRITE | INSPECT
pub const DEFAULT_DEBUGLOG: Rights[src]
BASIC | WRITE | SIGNAL
pub const DEFAULT_SUSPEND_TOKEN: Rights[src]
TRANSFER | INSPECT
pub const DEFAULT_PORT: Rights[src]
(BASIC & !WAIT) | IO
pub const DEFAULT_TIMER: Rights[src]
BASIC | WRITE | SIGNAL
pub const DEFAULT_EVENT: Rights[src]
BASIC | SIGNAL
pub const DEFAULT_EVENTPAIR: Rights[src]
BASIC | SIGNAL | SIGNAL_PEER
pub const DEFAULT_FIFO: Rights[src]
BASIC | IO | SIGNAL | SIGNAL_PEER
pub const DEFAULT_SOCKET: Rights[src]
BASIC | IO | PROPERTY | SIGNAL | SIGNAL_PEER
pub const DEFAULT_STREAM: Rights[src]
BASIC | PROPERTY | SIGNAL
pub const DEFAULT_BTI: Rights[src]
(BASIC & !WAIT) | IO | MAP
pub const DEFAULT_INTERRUPT: Rights[src]
BASIC | IO | SIGNAL
pub const DEFAULT_DEVICE: Rights[src]
BASIC | IO
pub const DEFAULT_PCI_INTERRUPT: Rights[src]
BASIC | IO | SIGNAL
pub const DEFAULT_EXCEPTION: Rights[src]
TRANSFER | PROPERTY | INSPECT
pub const DEFAULT_GUEST: Rights[src]
TRANSFER | DUPLICATE | WRITE | INSPECT | MANAGE_PROCESS
pub const DEFAULT_VCPU: Rights[src]
BASIC | IO | EXECUTE | SIGNAL
pub const fn empty() -> Rights[src]
Returns an empty set of flags
pub const fn all() -> Rights[src]
Returns the set containing all flags.
pub const fn bits(&self) -> u32[src]
Returns the raw value of the flags currently stored.
pub fn from_bits(bits: u32) -> Option<Rights>[src]
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
pub const fn from_bits_truncate(bits: u32) -> Rights[src]
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub const unsafe fn from_bits_unchecked(bits: u32) -> Rights[src]
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
pub const fn is_empty(&self) -> bool[src]
Returns true if no flags are currently stored.
pub const fn is_all(&self) -> bool[src]
Returns true if all flags are currently set.
pub const fn intersects(&self, other: Rights) -> bool[src]
Returns true if there are flags common to both self and other.
pub const fn contains(&self, other: Rights) -> bool[src]
Returns true all of the flags in other are contained within self.
pub fn insert(&mut self, other: Rights)[src]
Inserts the specified flags in-place.
pub fn remove(&mut self, other: Rights)[src]
Removes the specified flags in-place.
pub fn toggle(&mut self, other: Rights)[src]
Toggles the specified flags in-place.
pub fn set(&mut self, other: Rights, value: bool)[src]
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl Binary for Rights[src]
impl BitAnd<Rights> for Rights[src]
type Output = Rights
The resulting type after applying the & operator.
fn bitand(self, other: Rights) -> Rights[src]
Returns the intersection between the two sets of flags.
impl BitAndAssign<Rights> for Rights[src]
fn bitand_assign(&mut self, other: Rights)[src]
Disables all flags disabled in the set.
impl BitOr<Rights> for Rights[src]
type Output = Rights
The resulting type after applying the | operator.
fn bitor(self, other: Rights) -> Rights[src]
Returns the union of the two sets of flags.
impl BitOrAssign<Rights> for Rights[src]
fn bitor_assign(&mut self, other: Rights)[src]
Adds the set of flags.
impl BitXor<Rights> for Rights[src]
type Output = Rights
The resulting type after applying the ^ operator.
fn bitxor(self, other: Rights) -> Rights[src]
Returns the left flags, but with all the right flags toggled.
impl BitXorAssign<Rights> for Rights[src]
fn bitxor_assign(&mut self, other: Rights)[src]
Toggles the set of flags.
impl Clone for Rights[src]
impl Copy for Rights[src]
impl Debug for Rights[src]
impl Default for Rights[src]
impl Eq for Rights[src]
impl Extend<Rights> for Rights[src]
fn extend<T: IntoIterator<Item = Rights>>(&mut self, iterator: T)[src]
pub fn extend_one(&mut self, item: A)[src]
pub fn extend_reserve(&mut self, additional: usize)[src]
impl FromIterator<Rights> for Rights[src]
fn from_iter<T: IntoIterator<Item = Rights>>(iterator: T) -> Rights[src]
impl Hash for Rights[src]
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl LowerHex for Rights[src]
impl Not for Rights[src]
type Output = Rights
The resulting type after applying the ! operator.
fn not(self) -> Rights[src]
Returns the complement of this set of flags.
impl Octal for Rights[src]
impl Ord for Rights[src]
fn cmp(&self, other: &Rights) -> Ordering[src]
#[must_use]pub fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self1.50.0[src]
impl PartialEq<Rights> for Rights[src]
impl PartialOrd<Rights> for Rights[src]
fn partial_cmp(&self, other: &Rights) -> Option<Ordering>[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool1.0.0[src]
impl StructuralEq for Rights[src]
impl StructuralPartialEq for Rights[src]
impl Sub<Rights> for Rights[src]
type Output = Rights
The resulting type after applying the - operator.
fn sub(self, other: Rights) -> Rights[src]
Returns the set difference of the two sets of flags.
impl SubAssign<Rights> for Rights[src]
fn sub_assign(&mut self, other: Rights)[src]
Disables all flags enabled in the set.
impl TryFrom<u32> for Rights[src]
type Error = ZxError
The type returned in the event of a conversion error.
fn try_from(x: u32) -> ZxResult<Self>[src]
impl UpperHex for Rights[src]
Auto Trait Implementations
impl RefUnwindSafe for Rights
impl Send for Rights
impl Sync for Rights
impl Unpin for Rights
impl UnwindSafe for Rights
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> CallHasher for T where
T: Hash, [src]
T: Hash,
impl<T> Downcast for T where
T: Any, [src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>[src]
pub fn as_any(&self) -> &(dyn Any + 'static)[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any, [src]
T: Send + Sync + Any,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,