Struct OFlag
#[repr(transparent)]
pub struct OFlag(/* private field */);
Configuration options for opened files.
Implementations
impl OFlag
const fn iter(&self) -> Iter<OFlag>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<OFlag>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.
impl OFlag
const O_ACCMODE: Self = _;Mask for the access mode of the file.
const O_APPEND: Self = _;Open the file in append-only mode.
const O_ASYNC: Self = _;Generate a signal when input or output becomes possible.
const O_CLOEXEC: Self = _;Closes the file descriptor once an
execvecall is made.Also sets the file offset to the beginning of the file.
const O_CREAT: Self = _;Create the file if it does not exist.
const O_DIRECT: Self = _;Try to minimize cache effects of the I/O for this file.
const O_DIRECTORY: Self = _;If the specified path isn't a directory, fail.
const O_DSYNC: Self = _;Implicitly follow each
write()with anfdatasync().const O_EXCL: Self = _;Error out if a file was not created.
const O_FSYNC: Self = _;Same as
O_SYNC.const O_LARGEFILE: Self = _;Allow files whose sizes can't be represented in an
off_tto be opened.const O_NOATIME: Self = _;Do not update the file last access time during
read(2)s.const O_NOCTTY: Self = _;Don't attach the device as the process' controlling terminal.
const O_NDELAY: Self = _;Same as
O_NONBLOCK.const O_NOFOLLOW: Self = _;open()will fail if the given path is a symbolic link.const O_NONBLOCK: Self = _;When possible, open the file in nonblocking mode.
const O_PATH: Self = _;Obtain a file descriptor for low-level access.
The file itself is not opened and other file operations will fail.
const O_RDONLY: Self = _;Only allow reading.
This should not be combined with
O_WRONLYorO_RDWR.const O_RDWR: Self = _;Allow both reading and writing.
This should not be combined with
O_WRONLYorO_RDONLY.const O_RSYNC: Self = _;Similar to
O_DSYNCbut applies toreads instead.const O_SYNC: Self = _;Implicitly follow each
write()with anfsync().const O_TMPFILE: Self = _;Create an unnamed temporary file.
const O_TRUNC: Self = _;Truncate an existing regular file to 0 length if it allows writing.
const O_WRONLY: Self = _;Only allow writing.
This should not be combined with
O_RDONLYorO_RDWR.
impl OFlag
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.
Trait Implementations
impl Binary for OFlag
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl BitAnd for OFlag
type Output = OFlag;fn bitand(self, other: Self) -> SelfThe bitwise and (
&) of the bits inselfandother.
impl BitAndAssign for OFlag
fn bitand_assign(&mut self, other: Self)The bitwise and (
&) of the bits inselfandother.
impl BitOr for OFlag
type Output = OFlag;fn bitor(self, other: OFlag) -> SelfThe bitwise or (
|) of the bits inselfandother.
impl BitOrAssign for OFlag
fn bitor_assign(&mut self, other: Self)The bitwise or (
|) of the bits inselfandother.
impl BitXor for OFlag
type Output = OFlag;fn bitxor(self, other: Self) -> SelfThe bitwise exclusive-or (
^) of the bits inselfandother.
impl BitXorAssign for OFlag
fn bitxor_assign(&mut self, other: Self)The bitwise exclusive-or (
^) of the bits inselfandother.
impl Clone for OFlag
fn clone(&self) -> Self
impl Copy for OFlag
impl Debug for OFlag
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Eq for OFlag
impl Extend<OFlag> for OFlag
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)The bitwise or (
|) of the bits in each flags value.
impl Flags for OFlag
const FLAGS: &'static [Flag<OFlag>] = _;type Bits = i32;fn bits(&self) -> c_intfn from_bits_retain(bits: c_int) -> OFlagfn all_named() -> OFlag
impl FromIterator<OFlag> for OFlag
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> SelfThe bitwise or (
|) of the bits in each flags value.
impl Hash for OFlag
fn hash<__H: Hasher>(&self, state: &mut __H)
impl IntoIterator for OFlag
type Item = OFlag;type IntoIter = Iter<OFlag>;fn into_iter(self) -> Self::IntoIter
impl LowerHex for OFlag
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Not for OFlag
type Output = OFlag;fn not(self) -> SelfThe bitwise negation (
!) of the bits inself, truncating the result.
impl Octal for OFlag
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Ord for OFlag
fn cmp(&self, other: &Self) -> Ordering
impl PartialEq for OFlag
fn eq(&self, other: &Self) -> bool
impl PartialOrd for OFlag
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
impl PublicFlags for OFlag
type Primitive = i32;type Internal = InternalBitFlags;
impl StructuralPartialEq for OFlag
impl Sub for OFlag
type Output = OFlag;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 OFlag
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 OFlag
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl Freeze for OFlag
impl RefUnwindSafe for OFlag
impl Send for OFlag
impl Sync for OFlag
impl Unpin for OFlag
impl UnsafeUnpin for OFlag
impl UnwindSafe for OFlag
Blanket Implementations
impl<T> Any for OFlag
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for OFlag
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for OFlag
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for OFlag
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for OFlag
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for OFlag
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for OFlag
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 OFlag
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for OFlag
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>