Struct openat2::ResolveFlags [−][src]
#[repr(transparent)]pub struct ResolveFlags { /* fields omitted */ }
Expand description
Flags that modify path resolution.
Implementations
Block traversal of mount points (including bind mounts) during path resolution.
Disallow resolution of magic links (see symlink(7)
) during path resolution.
Disallow resolution of all symbolic links during path resolution.
Fail if path resolution would leave the directory specified by dirfd
.
Note: This currently implies Self::NO_MAGICLINKS
, but that may change in the
future. If your application nees to ensure that magic links are not resolved, you
should explicitly specify Self::NO_MAGICLINKS
.
Treat the directory specified by dirfd
as the root directory when resolving the given
path.
This is similar to a temporary chroot()
to the directory specified by dirfd
.
Note: This flag currently implies Self::NO_MAGICLINKS
, but that may change in the
future. If your application nees to ensure that magic links are not resolved, you
should explicitly specify Self::NO_MAGICLINKS
.
Only allow the open operation to succeed if it can be done entirely with information in the kernel’s lookup cache.
Added in Linux 5.12.
This will fail with EAGAIN
if any kind of revalidation or I/O is needed. It may be
useful for fast-path opens, with a fallback on offloading to a thread.
Returns an empty set of flags
Returns the set containing all flags.
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
Returns true
if there are flags common to both self
and other
.
Returns true
all of the flags in other
are contained within self
.
Inserts the specified flags in-place.
Removes the specified flags in-place.
Toggles the specified flags in-place.
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
Returns the intersection between the two sets of flags.
type Output = ResolveFlags
type Output = ResolveFlags
The resulting type after applying the &
operator.
Disables all flags disabled in the set.
Returns the union of the two sets of flags.
type Output = ResolveFlags
type Output = ResolveFlags
The resulting type after applying the |
operator.
Adds the set of flags.
Returns the left flags, but with all the right flags toggled.
type Output = ResolveFlags
type Output = ResolveFlags
The resulting type after applying the ^
operator.
Toggles the set of flags.
Extends a collection with the contents of an iterator. Read more
extend_one
)Extends a collection with exactly one element.
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
Creates a value from an iterator. Read more
Returns the complement of this set of flags.
type Output = ResolveFlags
type Output = ResolveFlags
The resulting type after applying the !
operator.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the set difference of the two sets of flags.
type Output = ResolveFlags
type Output = ResolveFlags
The resulting type after applying the -
operator.
Disables all flags enabled in the set.
Auto Trait Implementations
impl RefUnwindSafe for ResolveFlags
impl Send for ResolveFlags
impl Sync for ResolveFlags
impl Unpin for ResolveFlags
impl UnwindSafe for ResolveFlags
Blanket Implementations
Mutably borrows from an owned value. Read more