Struct MFdFlags
#[repr(transparent)]
pub struct MFdFlags(/* private field */);
Options that change the behavior of memfd_create.
Implementations
impl MFdFlags
const MFD_CLOEXEC: Self = _;Set the close-on-exec (
FD_CLOEXEC) flag on the new file descriptor.By default, the new file descriptor is set to remain open across an
execve(theFD_CLOEXECflag is initially disabled). This flag can be used to change this default. The file offset is set to the beginning of the file (seelseek).See also the description of the
O_CLOEXECflag inopen(2).const MFD_ALLOW_SEALING: Self = _;Allow sealing operations on this file.
See also the file sealing notes given in
memfd_create(2).const MFD_HUGETLB: Self = _;Anonymous file will be created using huge pages. It should be safe now to combine with
MFD_ALLOW_SEALINGtoo. However, despite its presence, on FreeBSD it is unimplemented for now (ENOSYS).See also the hugetlb filesystem in
memfd_create(2).const MFD_HUGE_1MB: Self = _;Following are to be used with
MFD_HUGETLB, indicating the desired hugetlb size.See also the hugetlb filesystem in
memfd_create(2).const MFD_HUGE_2MB: Self = _;hugetlb size of 2MB.
const MFD_HUGE_8MB: Self = _;hugetlb size of 8MB.
const MFD_HUGE_16MB: Self = _;hugetlb size of 16MB.
const MFD_HUGE_32MB: Self = _;hugetlb size of 32MB.
const MFD_HUGE_256MB: Self = _;hugetlb size of 256MB.
const MFD_HUGE_512MB: Self = _;hugetlb size of 512MB.
const MFD_HUGE_1GB: Self = _;hugetlb size of 1GB.
const MFD_HUGE_2GB: Self = _;hugetlb size of 2GB.
const MFD_HUGE_16GB: Self = _;hugetlb size of 16GB.
impl MFdFlags
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_uintGet the underlying bits value.
The returned value is exactly the bits set in this flags value.
const fn from_bits(bits: c_uint) -> Option<Self>Convert from a bits value.
This method will return
Noneif any unknown bits are set.const fn from_bits_truncate(bits: c_uint) -> SelfConvert from a bits value, unsetting any unknown bits.
const fn from_bits_retain(bits: c_uint) -> 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 MFdFlags
const fn iter(&self) -> Iter<MFdFlags>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<MFdFlags>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 MFdFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl BitAnd for MFdFlags
type Output = MFdFlags;fn bitand(self, other: Self) -> SelfThe bitwise and (
&) of the bits inselfandother.
impl BitAndAssign for MFdFlags
fn bitand_assign(&mut self, other: Self)The bitwise and (
&) of the bits inselfandother.
impl BitOr for MFdFlags
type Output = MFdFlags;fn bitor(self, other: MFdFlags) -> SelfThe bitwise or (
|) of the bits inselfandother.
impl BitOrAssign for MFdFlags
fn bitor_assign(&mut self, other: Self)The bitwise or (
|) of the bits inselfandother.
impl BitXor for MFdFlags
type Output = MFdFlags;fn bitxor(self, other: Self) -> SelfThe bitwise exclusive-or (
^) of the bits inselfandother.
impl BitXorAssign for MFdFlags
fn bitxor_assign(&mut self, other: Self)The bitwise exclusive-or (
^) of the bits inselfandother.
impl Clone for MFdFlags
fn clone(&self) -> Self
impl Copy for MFdFlags
impl Debug for MFdFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Eq for MFdFlags
impl Extend<MFdFlags> for MFdFlags
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)The bitwise or (
|) of the bits in each flags value.
impl Flags for MFdFlags
const FLAGS: &'static [Flag<MFdFlags>] = _;type Bits = u32;fn bits(&self) -> c_uintfn from_bits_retain(bits: c_uint) -> MFdFlagsfn all_named() -> MFdFlags
impl FromIterator<MFdFlags> for MFdFlags
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> SelfThe bitwise or (
|) of the bits in each flags value.
impl Hash for MFdFlags
fn hash<__H: Hasher>(&self, state: &mut __H)
impl IntoIterator for MFdFlags
type Item = MFdFlags;type IntoIter = Iter<MFdFlags>;fn into_iter(self) -> Self::IntoIter
impl LowerHex for MFdFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Not for MFdFlags
type Output = MFdFlags;fn not(self) -> SelfThe bitwise negation (
!) of the bits inself, truncating the result.
impl Octal for MFdFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Ord for MFdFlags
fn cmp(&self, other: &Self) -> Ordering
impl PartialEq for MFdFlags
fn eq(&self, other: &Self) -> bool
impl PartialOrd for MFdFlags
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
impl PublicFlags for MFdFlags
type Primitive = u32;type Internal = InternalBitFlags;
impl StructuralPartialEq for MFdFlags
impl Sub for MFdFlags
type Output = MFdFlags;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 MFdFlags
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 MFdFlags
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl Freeze for MFdFlags
impl RefUnwindSafe for MFdFlags
impl Send for MFdFlags
impl Sync for MFdFlags
impl Unpin for MFdFlags
impl UnsafeUnpin for MFdFlags
impl UnwindSafe for MFdFlags
Blanket Implementations
impl<T> Any for MFdFlags
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for MFdFlags
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for MFdFlags
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for MFdFlags
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for MFdFlags
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for MFdFlags
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for MFdFlags
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 MFdFlags
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for MFdFlags
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>