Struct FsFlags
#[repr(transparent)]
pub struct FsFlags(/* private field */);
File system mount Flags
Implementations
impl FsFlags
const ST_RDONLY: Self = _;Read Only
const ST_NOSUID: Self = _;Do not allow the set-uid bits to have an effect
const ST_NODEV: Self = _;Do not interpret character or block-special devices
const ST_NOEXEC: Self = _;Do not allow execution of binaries on the filesystem
const ST_SYNCHRONOUS: Self = _;All IO should be done synchronously
const ST_MANDLOCK: Self = _;Allow mandatory locks on the filesystem
const ST_WRITE: Self = _;Write on file/directory/symlink
const ST_APPEND: Self = _;Append-only file
const ST_IMMUTABLE: Self = _;Immutable file
const ST_NOATIME: Self = _;Do not update access times on files
const ST_NODIRATIME: Self = _;Do not update access times on files
const ST_RELATIME: Self = _;Update access time relative to modify/change time
impl FsFlags
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_ulongGet the underlying bits value.
The returned value is exactly the bits set in this flags value.
const fn from_bits(bits: c_ulong) -> Option<Self>Convert from a bits value.
This method will return
Noneif any unknown bits are set.const fn from_bits_truncate(bits: c_ulong) -> SelfConvert from a bits value, unsetting any unknown bits.
const fn from_bits_retain(bits: c_ulong) -> 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 FsFlags
const fn iter(&self) -> Iter<FsFlags>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<FsFlags>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 FsFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl BitAnd for FsFlags
type Output = FsFlags;fn bitand(self, other: Self) -> SelfThe bitwise and (
&) of the bits inselfandother.
impl BitAndAssign for FsFlags
fn bitand_assign(&mut self, other: Self)The bitwise and (
&) of the bits inselfandother.
impl BitOr for FsFlags
type Output = FsFlags;fn bitor(self, other: FsFlags) -> SelfThe bitwise or (
|) of the bits inselfandother.
impl BitOrAssign for FsFlags
fn bitor_assign(&mut self, other: Self)The bitwise or (
|) of the bits inselfandother.
impl BitXor for FsFlags
type Output = FsFlags;fn bitxor(self, other: Self) -> SelfThe bitwise exclusive-or (
^) of the bits inselfandother.
impl BitXorAssign for FsFlags
fn bitxor_assign(&mut self, other: Self)The bitwise exclusive-or (
^) of the bits inselfandother.
impl Clone for FsFlags
fn clone(&self) -> Self
impl Copy for FsFlags
impl Debug for FsFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Default for FsFlags
fn default() -> Self
impl Eq for FsFlags
impl Extend<FsFlags> for FsFlags
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)The bitwise or (
|) of the bits in each flags value.
impl Flags for FsFlags
const FLAGS: &'static [Flag<FsFlags>] = _;type Bits = u64;fn bits(&self) -> c_ulongfn from_bits_retain(bits: c_ulong) -> FsFlagsfn all_named() -> FsFlags
impl FromIterator<FsFlags> for FsFlags
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> SelfThe bitwise or (
|) of the bits in each flags value.
impl Hash for FsFlags
fn hash<__H: Hasher>(&self, state: &mut __H)
impl IntoIterator for FsFlags
type Item = FsFlags;type IntoIter = Iter<FsFlags>;fn into_iter(self) -> Self::IntoIter
impl LowerHex for FsFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Not for FsFlags
type Output = FsFlags;fn not(self) -> SelfThe bitwise negation (
!) of the bits inself, truncating the result.
impl Octal for FsFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Ord for FsFlags
fn cmp(&self, other: &Self) -> Ordering
impl PartialEq for FsFlags
fn eq(&self, other: &Self) -> bool
impl PartialOrd for FsFlags
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
impl PublicFlags for FsFlags
type Primitive = u64;type Internal = InternalBitFlags;
impl StructuralPartialEq for FsFlags
impl Sub for FsFlags
type Output = FsFlags;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 FsFlags
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 FsFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl Freeze for FsFlags
impl RefUnwindSafe for FsFlags
impl Send for FsFlags
impl Sync for FsFlags
impl Unpin for FsFlags
impl UnsafeUnpin for FsFlags
impl UnwindSafe for FsFlags
Blanket Implementations
impl<T> Any for FsFlags
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for FsFlags
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for FsFlags
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for FsFlags
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for FsFlags
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for FsFlags
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for FsFlags
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 FsFlags
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for FsFlags
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>