#[non_exhaustive]pub enum OpenFlag {
Append,
CloseOnExec,
Create,
Directory,
Exclusive,
NoCtty,
NoFollow,
NonBlock,
Sync,
Truncate,
}Expand description
Options for opening file descriptors
A set of OpenFlag values can be passed to open to configure how the
file descriptor is opened. Some of the flags become the attributes of the
open file description created by the open function.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Append
Always write to the end of the file
CloseOnExec
Close the file descriptor upon execution of an exec family function
Create
Create the file if it does not exist
Directory
Fail if the file is not a directory
Exclusive
Atomically create the file if it does not exist
NoCtty
Do not make the opened terminal the controlling terminal for the process
NoFollow
Do not follow symbolic links
NonBlock
Open the file in non-blocking mode
Sync
Wait until the written data is physically stored on the underlying storage device on each write
Truncate
Truncate the file to zero length
Trait Implementations§
source§impl EnumSetTypePrivate for OpenFlag
impl EnumSetTypePrivate for OpenFlag
§type ConstHelper = __EnumSetConstHelper
type ConstHelper = __EnumSetConstHelper
A helper type used to implement the
enum_set! macro among other things.source§const CONST_HELPER_INSTANCE: __EnumSetConstHelper = __EnumSetConstHelper
const CONST_HELPER_INSTANCE: __EnumSetConstHelper = __EnumSetConstHelper
The instance of the
ConstHelper.source§const ALL_BITS: Self::Repr = {transmute(0x03ff): <system::open_flag::OpenFlag as enumset::__internal::EnumSetTypePrivate>::Repr}
const ALL_BITS: Self::Repr = {transmute(0x03ff): <system::open_flag::OpenFlag as enumset::__internal::EnumSetTypePrivate>::Repr}
A mask of bits that are valid in the bitset.
source§const VARIANT_COUNT: u32 = 10u32
const VARIANT_COUNT: u32 = 10u32
The number of variants in the bitset.
source§fn enum_into_u32(self) -> u32
fn enum_into_u32(self) -> u32
Converts an enum of this type into its bit position.
source§unsafe fn enum_from_u32(val: u32) -> Self
unsafe fn enum_from_u32(val: u32) -> Self
Converts a bit position into an enum value.
impl Copy for OpenFlag
impl EnumSetType for OpenFlag
impl Eq for OpenFlag
Auto Trait Implementations§
impl Freeze for OpenFlag
impl RefUnwindSafe for OpenFlag
impl Send for OpenFlag
impl Sync for OpenFlag
impl Unpin for OpenFlag
impl UnwindSafe for OpenFlag
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more