Struct SaFlags
#[repr(transparent)]
pub struct SaFlags(/* private field */);
Controls the behavior of a SigAction
Implementations
impl SaFlags
const SA_NOCLDSTOP: Self = _;When catching a
Signal::SIGCHLDsignal, the signal will be generated only when a child process exits, not when a child process stops.const SA_NOCLDWAIT: Self = _;When catching a
Signal::SIGCHLDsignal, the system will not create zombie processes when children of the calling process exit.const SA_NODEFER: Self = _;Further occurrences of the delivered signal are not masked during the execution of the handler.
const SA_ONSTACK: Self = _;The system will deliver the signal to the process on a signal stack, specified by each thread with sigaltstack(2).
const SA_RESETHAND: Self = _;The handler is reset back to the default at the moment the signal is delivered.
const SA_RESTART: Self = _;Requests that certain system calls restart if interrupted by this signal. See the man page for complete details.
const SA_SIGINFO: Self = _;This flag is controlled internally by Nix.
impl SaFlags
const fn empty() -> SelfGet a flags value with all bits unset.
const fn all() -> SelfGet a flags value with all known bits set.
const fn bits(&self) -> c_intGet the underlying bits value.
The returned value is exactly the bits set in this flags value.
const fn from_bits(bits: c_int) -> Option<Self>Convert from a bits value.
This method will return
Noneif any unknown bits are set.const fn from_bits_truncate(bits: c_int) -> SelfConvert from a bits value, unsetting any unknown bits.
const fn from_bits_retain(bits: c_int) -> SelfConvert from a bits value exactly.
fn from_name(name: &str) -> Option<Self>Get a flags value with the bits of a flag with the given name set.
This method will return
Noneifnameis empty or doesn't correspond to any named flag.const fn is_empty(&self) -> boolWhether all bits in
selfare unset.const fn is_all(&self) -> boolWhether all known bits in this flags value are set.
const fn intersects(&self, other: Self) -> boolWhether any set bits in
otherare also set inself.const fn contains(&self, other: Self) -> boolWhether all set bits in
otherare also set inself.fn insert(&mut self, other: Self)The bitwise or (
|) of the bits inselfandother.fn remove(&mut self, other: Self)The intersection of
selfwith the complement ofother(&!).This method is not equivalent to
self & !otherwhenotherhas unknown bits set.removewon't truncateother, but the!operator will.fn toggle(&mut self, other: Self)The bitwise exclusive-or (
^) of the bits inselfandother.fn set(&mut self, other: Self, value: bool)Call
insertwhenvalueistrueorremovewhenvalueisfalse.const fn intersection(self, other: Self) -> SelfThe bitwise and (
&) of the bits inselfandother.const fn union(self, other: Self) -> SelfThe bitwise or (
|) of the bits inselfandother.const fn difference(self, other: Self) -> SelfThe intersection of
selfwith the complement ofother(&!).This method is not equivalent to
self & !otherwhenotherhas unknown bits set.differencewon't truncateother, but the!operator will.const fn symmetric_difference(self, other: Self) -> SelfThe bitwise exclusive-or (
^) of the bits inselfandother.const fn complement(self) -> SelfThe bitwise negation (
!) of the bits inself, truncating the result.
impl SaFlags
const fn iter(&self) -> Iter<SaFlags>Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
const fn iter_names(&self) -> IterNames<SaFlags>Yield a set of contained named flags values.
This method is like
iter, except only yields bits in contained named flags. Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
Trait Implementations
impl Binary for SaFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl BitAnd for SaFlags
type Output = SaFlags;fn bitand(self, other: Self) -> SelfThe bitwise and (
&) of the bits inselfandother.
impl BitAndAssign for SaFlags
fn bitand_assign(&mut self, other: Self)The bitwise and (
&) of the bits inselfandother.
impl BitOr for SaFlags
type Output = SaFlags;fn bitor(self, other: SaFlags) -> SelfThe bitwise or (
|) of the bits inselfandother.
impl BitOrAssign for SaFlags
fn bitor_assign(&mut self, other: Self)The bitwise or (
|) of the bits inselfandother.
impl BitXor for SaFlags
type Output = SaFlags;fn bitxor(self, other: Self) -> SelfThe bitwise exclusive-or (
^) of the bits inselfandother.
impl BitXorAssign for SaFlags
fn bitxor_assign(&mut self, other: Self)The bitwise exclusive-or (
^) of the bits inselfandother.
impl Clone for SaFlags
fn clone(&self) -> Self
impl Copy for SaFlags
impl Debug for SaFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Eq for SaFlags
impl Extend<SaFlags> for SaFlags
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)The bitwise or (
|) of the bits in each flags value.
impl Flags for SaFlags
const FLAGS: &'static [Flag<SaFlags>] = _;type Bits = i32;fn bits(&self) -> c_intfn from_bits_retain(bits: c_int) -> SaFlagsfn all_named() -> SaFlags
impl FromIterator<SaFlags> for SaFlags
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> SelfThe bitwise or (
|) of the bits in each flags value.
impl Hash for SaFlags
fn hash<__H: Hasher>(&self, state: &mut __H)
impl IntoIterator for SaFlags
type Item = SaFlags;type IntoIter = Iter<SaFlags>;fn into_iter(self) -> Self::IntoIter
impl LowerHex for SaFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Not for SaFlags
type Output = SaFlags;fn not(self) -> SelfThe bitwise negation (
!) of the bits inself, truncating the result.
impl Octal for SaFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Ord for SaFlags
fn cmp(&self, other: &Self) -> Ordering
impl PartialEq for SaFlags
fn eq(&self, other: &Self) -> bool
impl PartialOrd for SaFlags
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
impl PublicFlags for SaFlags
type Primitive = i32;type Internal = InternalBitFlags;
impl StructuralPartialEq for SaFlags
impl Sub for SaFlags
type Output = SaFlags;fn sub(self, other: Self) -> SelfThe intersection of
selfwith the complement ofother(&!).This method is not equivalent to
self & !otherwhenotherhas unknown bits set.differencewon't truncateother, but the!operator will.
impl SubAssign for SaFlags
fn sub_assign(&mut self, other: Self)The intersection of
selfwith the complement ofother(&!).This method is not equivalent to
self & !otherwhenotherhas unknown bits set.differencewon't truncateother, but the!operator will.
impl UpperHex for SaFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl Freeze for SaFlags
impl RefUnwindSafe for SaFlags
impl Send for SaFlags
impl Sync for SaFlags
impl Unpin for SaFlags
impl UnsafeUnpin for SaFlags
impl UnwindSafe for SaFlags
Blanket Implementations
impl<T> Any for SaFlags
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for SaFlags
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for SaFlags
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for SaFlags
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for SaFlags
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for SaFlags
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for SaFlags
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for SaFlags
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for SaFlags
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>