pub struct Personality(/* private fields */);Implementations§
Source§impl Personality
impl Personality
Sourcepub const UNAME26: Self
pub const UNAME26: Self
Have uname(2) report a 2.6.40+ version number rather than a 3.x version number. Added as a stopgap measure to support broken applications that could not handle the kernel version- numbering switch from 2.6.x to 3.x.
Sourcepub const ADDR_NO_RANDOMIZE: Self
pub const ADDR_NO_RANDOMIZE: Self
With this flag set, disable address-space-layout randomization.
Sourcepub const FDPIC_FUNCPTRS: Self
pub const FDPIC_FUNCPTRS: Self
User-space function pointers to signal handlers point (on certain architectures) to descriptors.
Sourcepub const MMAP_PAGE_ZERO: Self
pub const MMAP_PAGE_ZERO: Self
Map page 0 as read-only (to support binaries that depend on this SVr4 behavior).
Sourcepub const ADDR_COMPAT_LAYOUT: Self
pub const ADDR_COMPAT_LAYOUT: Self
With this flag set, provide legacy virtual address space layout.
Sourcepub const READ_IMPLIES_EXEC: Self
pub const READ_IMPLIES_EXEC: Self
With this flag set, PROT_READ implies PROT_EXEC for
mmap(2).
Sourcepub const ADDR_LIMIT_32BIT: Self
pub const ADDR_LIMIT_32BIT: Self
Limit the address space to 32 bits.
Sourcepub const SHORT_INODE: Self
pub const SHORT_INODE: Self
No effects(?).
Sourcepub const WHOLE_SECONDS: Self
pub const WHOLE_SECONDS: Self
No effects(?).
Sourcepub const STICKY_TIMEOUTS: Self
pub const STICKY_TIMEOUTS: Self
With this flag set, select(2),
pselect(2), and ppoll(2) do not modify the
returned timeout argument when interrupted by a signal handler.
Sourcepub const ADDR_LIMIT_3GB: Self
pub const ADDR_LIMIT_3GB: Self
With this flag set, use 0xC0000000 as the offset at which to
search a virtual memory chunk on mmap(2); otherwise use
0xFFFFE000.
Sourcepub const PER_LINUX_32BIT: Self
pub const PER_LINUX_32BIT: Self
Implies ADDR_LIMIT_32BIT
Sourcepub const PER_LINUX_FDPIC: Self
pub const PER_LINUX_FDPIC: Self
Implies FDPIC_FUNCPTRS.
Sourcepub const PER_SCOSVR3: Self
pub const PER_SCOSVR3: Self
Implies STICKY_TIMEOUTS, WHOLE_SECONDS, and SHORT_INODE;
otherwise no effects.
Sourcepub const PER_WYSEV386: Self
pub const PER_WYSEV386: Self
Implies STICKY_TIMEOUTS and SHORT_INODE; otherwise no effects.
Sourcepub const PER_SUNOS: Self
pub const PER_SUNOS: Self
Implies STICKY_TIMEOUTS. Divert library and dynamic linker
searches to /usr/gnemul. Buggy, largely unmaintained, and almost
entirely unused; support was removed in Linux 2.6.26.
Sourcepub const PER_LINUX32: Self
pub const PER_LINUX32: Self
[To be documented.]
Sourcepub const PER_LINUX32_3GB: Self
pub const PER_LINUX32_3GB: Self
Implies ADDR_LIMIT_3GB.
Sourcepub const PER_IRIX32: Self
pub const PER_IRIX32: Self
IRIX 5 32-bit. Never fully functional; support dropped in Linux
2.6.27. Implies STICKY_TIMEOUTS.
Sourcepub const PER_IRIXN32: Self
pub const PER_IRIXN32: Self
IRIX 6 new 32-bit. Implies STICKY_TIMEOUTS; otherwise no effects.
Sourcepub const PER_IRIX64: Self
pub const PER_IRIX64: Self
IRIX 6 64-bit. Implies STICKY_TIMEOUTS; otherwise no effects.
Sourcepub const PER_RISCOS: Self
pub const PER_RISCOS: Self
[To be documented.]
Sourcepub const PER_SOLARIS: Self
pub const PER_SOLARIS: Self
Implies STICKY_TIMEOUTS; otherwise no effects.
Sourcepub const PER_OSF4: Self
pub const PER_OSF4: Self
OSF/1 v4. On alpha, clear top 32 bits of iov_len in the user’s buffer for compatibility with old versions of OSF/1 where iov_len was defined as. int.
Source§impl Personality
impl Personality
Sourcepub const fn bits(&self) -> u32
pub const fn bits(&self) -> u32
Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
Sourcepub const fn from_bits(bits: u32) -> Option<Self>
pub const fn from_bits(bits: u32) -> Option<Self>
Convert from a bits value.
This method will return None if any unknown bits are set.
Sourcepub const fn from_bits_truncate(bits: u32) -> Self
pub const fn from_bits_truncate(bits: u32) -> Self
Convert from a bits value, unsetting any unknown bits.
Sourcepub const fn from_bits_retain(bits: u32) -> Self
pub const fn from_bits_retain(bits: u32) -> Self
Convert from a bits value exactly.
Sourcepub fn from_name(name: &str) -> Option<Self>
pub 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 None if name is empty or doesn’t
correspond to any named flag.
Sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Whether any set bits in a source flags value are also set in a target flags value.
Sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Whether all set bits in a source flags value are also set in a target flags value.
Sourcepub fn remove(&mut self, other: Self)
pub fn remove(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
remove won’t truncate other, but the ! operator will.
Sourcepub fn toggle(&mut self, other: Self)
pub fn toggle(&mut self, other: Self)
The bitwise exclusive-or (^) of the bits in two flags values.
Sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Call insert when value is true or remove when value is false.
Sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
The bitwise and (&) of the bits in two flags values.
Sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
The bitwise or (|) of the bits in two flags values.
Sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
Sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
The bitwise exclusive-or (^) of the bits in two flags values.
Sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
The bitwise negation (!) of the bits in a flags value, truncating the result.
Source§impl Personality
impl Personality
Sourcepub const fn iter(&self) -> Iter<Personality>
pub const fn iter(&self) -> Iter<Personality>
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.
Sourcepub const fn iter_names(&self) -> IterNames<Personality>
pub const fn iter_names(&self) -> IterNames<Personality>
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§
Source§impl Binary for Personality
impl Binary for Personality
Source§impl BitAnd for Personality
impl BitAnd for Personality
Source§impl BitAndAssign for Personality
impl BitAndAssign for Personality
Source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
The bitwise and (&) of the bits in two flags values.
Source§impl BitOr for Personality
impl BitOr for Personality
Source§fn bitor(self, other: Personality) -> Self
fn bitor(self, other: Personality) -> Self
The bitwise or (|) of the bits in two flags values.
Source§type Output = Personality
type Output = Personality
| operator.Source§impl BitOrAssign for Personality
impl BitOrAssign for Personality
Source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
The bitwise or (|) of the bits in two flags values.
Source§impl BitXor for Personality
impl BitXor for Personality
Source§impl BitXorAssign for Personality
impl BitXorAssign for Personality
Source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
The bitwise exclusive-or (^) of the bits in two flags values.
Source§impl Extend<Personality> for Personality
impl Extend<Personality> for Personality
Source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
The bitwise or (|) of the bits in each flags value.
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)Source§impl Flags for Personality
impl Flags for Personality
Source§const FLAGS: &'static [Flag<Personality>]
const FLAGS: &'static [Flag<Personality>]
Source§fn from_bits_retain(bits: u32) -> Personality
fn from_bits_retain(bits: u32) -> Personality
Source§fn contains_unknown_bits(&self) -> bool
fn contains_unknown_bits(&self) -> bool
true if any unknown bits are set.Source§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
Source§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<Self>
Source§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
Source§fn iter_defined_names() -> IterDefinedNames<Self>
fn iter_defined_names() -> IterDefinedNames<Self>
Self::FLAGS.Source§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
Source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
Source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|) of the bits in two flags values.Source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
&!). Read moreSource§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^) of the bits in two flags values.Source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&) of the bits in two flags values.Source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
&!). Read moreSource§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^) of the bits in two flags values.Source§fn complement(self) -> Self
fn complement(self) -> Self
!) of the bits in a flags value, truncating the result.Source§impl FromIterator<Personality> for Personality
impl FromIterator<Personality> for Personality
Source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
The bitwise or (|) of the bits in each flags value.
Source§impl IntoIterator for Personality
impl IntoIterator for Personality
Source§impl LowerHex for Personality
impl LowerHex for Personality
Source§impl Not for Personality
impl Not for Personality
Source§impl Octal for Personality
impl Octal for Personality
Source§impl PublicFlags for Personality
impl PublicFlags for Personality
Source§impl Sub for Personality
impl Sub for Personality
Source§fn sub(self, other: Self) -> Self
fn sub(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
Source§type Output = Personality
type Output = Personality
- operator.Source§impl SubAssign for Personality
impl SubAssign for Personality
Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.