Struct dokany::AccessMask

source ·
#[repr(transparent)]
pub struct AccessMask(_);
Expand description

A value that defines standard, specific, and generic rights.

Implementations§

source§

impl AccessMask

source

pub const FILE_ADD_FILE: Self = _

For a directory, the right to create a file in the directory.

source

pub const FILE_ADD_SUBDIRECTORY: Self = _

For a directory, the right to create a subdirectory.

source

pub const FILE_ALL_ACCESS: Self = _

All possible access rights for a file.

source

pub const FILE_READ_EA: Self = _

The right to read extended file attributes.

source

pub const FILE_APPEND_DATA: Self = _

For a file object, the right to append data to the file.

(For local files, write operations will not overwrite existing data if this flag is specified without FILE_WRITE_DATA.) For a directory object, the right to create a subdirectory (FILE_ADD_SUBDIRECTORY).

source

pub const FILE_CREATE_PIPE_INSTANCE: Self = _

For a named pipe, the right to create a pipe.

source

pub const FILE_DELETE_CHILD: Self = _

For a directory, the right to delete a directory and all the files it contains, including read-only files.

source

pub const FILE_EXECUTE: Self = _

For a native code file, the right to execute the file.

This access right given to scripts may cause the script to be executable, depending on the script interpreter.

source

pub const FILE_LIST_DIRECTORY: Self = _

For a directory, the right to list the contents of the directory.

source

pub const FILE_READ_ATTRIBUTES: Self = _

The right to read file attributes.

source

pub const FILE_READ_DATA: Self = _

For a file object, the right to read the corresponding file data.

For a directory object, the right to read the corresponding directory data.

source

pub const FILE_TRAVERSE: Self = _

For a directory, the right to traverse the directory.

By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. See the remarks in File Security and Access Rights for more information.

source

pub const FILE_WRITE_ATTRIBUTES: Self = _

The right to write file attributes.

source

pub const FILE_WRITE_DATA: Self = _

For a file object, the right to write data to the file. For a directory object, the right to create a file in the directory (FILE_ADD_FILE).

source

pub const FILE_WRITE_EA: Self = _

The right to write extended file attributes.

source

pub const ACCESS_SYSTEM_SECURITY: Self = _

Access system security (ACCESS_SYSTEM_SECURITY).

It is used to indicate access to a system access control list (SACL). This type of access requires the calling process to have the SE_SECURITY_NAME (Manage auditing and security log) privilege. If this flag is set in the access mask of an audit access ACE (successful or unsuccessful access), the SACL access will be audited.

source

pub const MAXIMUM_ALLOWED: Self = _

Maximum allowed

source

pub const GENERIC_ALL: Self = _

?

source

pub const GENERIC_EXECUTE: Self = _

?

source

pub const GENERIC_WRITE: Self = _

?

source

pub const GENERIC_READ: Self = _

?

source

pub const DELETE: Self = _

Delete access.

source

pub const READ_CONTROL: Self = _

Read access to the owner, group, and discretionary access control list (DACL) of the security descriptor.

source

pub const WRITE_DAC: Self = _

Write access to the DACL.

source

pub const WRITE_OWNER: Self = _

Write access to owner.

source

pub const SYNCHRONIZE: Self = _

Synchronize access.

source

pub const STANDARD_RIGHTS_REQUIRED: Self = _

?

source

pub const STANDARD_RIGHTS_READ: Self = _

?

source

pub const STANDARD_RIGHTS_WRITE: Self = _

?

source

pub const STANDARD_RIGHTS_EXECUTE: Self = _

?

source

pub const STANDARD_RIGHTS_ALL: Self = _

?

source

pub const SPECIFIC_RIGHTS_ALL: Self = _

?

source§

impl AccessMask

source

pub const fn empty() -> Self

Get a flags value with all bits unset.

source

pub const fn all() -> Self

Get a flags value with all known bits set.

source

pub const fn bits(&self) -> FILE_ACCESS_FLAGS

Get the underlying bits value.

The returned value is exactly the bits set in this flags value.

source

pub const fn from_bits(bits: FILE_ACCESS_FLAGS) -> Option<Self>

Convert from a bits value.

This method will return None if any unknown bits are set.

source

pub const fn from_bits_truncate(bits: FILE_ACCESS_FLAGS) -> Self

Convert from a bits value, unsetting any unknown bits.

source

pub const fn from_bits_retain(bits: FILE_ACCESS_FLAGS) -> Self

Convert from a bits value exactly.

source

pub 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 None if name is empty or doesn’t correspond to any named flag.

source

pub const fn is_empty(&self) -> bool

Whether all bits in this flags value are unset.

source

pub const fn is_all(&self) -> bool

Whether all known bits in this flags value are set.

source

pub const fn intersects(&self, other: Self) -> bool

Whether any set bits in a source flags value are also set in a target flags value.

source

pub const fn contains(&self, other: Self) -> bool

Whether all set bits in a source flags value are also set in a target flags value.

source

pub fn insert(&mut self, other: Self)

The bitwise or (|) of the bits in two flags values.

source

pub fn remove(&mut self, other: Self)

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. remove won’t truncate other, but the ! operator will.

source

pub fn toggle(&mut self, other: Self)

The bitwise exclusive-or (^) of the bits in two flags values.

source

pub fn set(&mut self, other: Self, value: bool)

Call insert when value is true or remove when value is false.

source

pub const fn intersection(self, other: Self) -> Self

The bitwise and (&) of the bits in two flags values.

source

pub const fn union(self, other: Self) -> Self

The bitwise or (|) of the bits in two flags values.

source

pub const fn difference(self, other: Self) -> Self

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won’t truncate other, but the ! operator will.

source

pub const fn symmetric_difference(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in two flags values.

source

pub const fn complement(self) -> Self

The bitwise negation (!) of the bits in a flags value, truncating the result.

source§

impl AccessMask

source

pub const fn iter(&self) -> Iter<AccessMask>

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.

source

pub const fn iter_names(&self) -> IterNames<AccessMask>

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§

source§

impl Binary for AccessMask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd<AccessMask> for AccessMask

source§

fn bitand(self, other: Self) -> Self

The bitwise and (&) of the bits in two flags values.

§

type Output = AccessMask

The resulting type after applying the & operator.
source§

impl BitAndAssign<AccessMask> for AccessMask

source§

fn bitand_assign(&mut self, other: Self)

The bitwise and (&) of the bits in two flags values.

source§

impl BitOr<AccessMask> for AccessMask

source§

fn bitor(self, other: AccessMask) -> Self

The bitwise or (|) of the bits in two flags values.

§

type Output = AccessMask

The resulting type after applying the | operator.
source§

impl BitOrAssign<AccessMask> for AccessMask

source§

fn bitor_assign(&mut self, other: Self)

The bitwise or (|) of the bits in two flags values.

source§

impl BitXor<AccessMask> for AccessMask

source§

fn bitxor(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in two flags values.

§

type Output = AccessMask

The resulting type after applying the ^ operator.
source§

impl BitXorAssign<AccessMask> for AccessMask

source§

fn bitxor_assign(&mut self, other: Self)

The bitwise exclusive-or (^) of the bits in two flags values.

source§

impl Debug for AccessMask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Extend<AccessMask> for AccessMask

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

The bitwise or (|) of the bits in each flags value.

source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl Flags for AccessMask

source§

const FLAGS: &'static [Flag<AccessMask>] = _

The set of defined flags.
§

type Bits = u32

The underlying bits type.
source§

fn bits(&self) -> FILE_ACCESS_FLAGS

Get the underlying bits value. Read more
source§

fn from_bits_retain(bits: FILE_ACCESS_FLAGS) -> AccessMask

Convert from a bits value exactly.
§

fn empty() -> Self

Get a flags value with all bits unset.
§

fn all() -> Self

Get a flags value with all known bits set.
§

fn from_bits(bits: Self::Bits) -> Option<Self>

Convert from a bits value. Read more
§

fn from_bits_truncate(bits: Self::Bits) -> Self

Convert from a bits value, unsetting any unknown bits.
§

fn from_name(name: &str) -> Option<Self>

Get a flags value with the bits of a flag with the given name set. Read more
§

fn iter(&self) -> Iter<Self>

Yield a set of contained flags values. Read more
§

fn iter_names(&self) -> IterNames<Self>

Yield a set of contained named flags values. Read more
§

fn is_empty(&self) -> bool

Whether all bits in this flags value are unset.
§

fn is_all(&self) -> bool

Whether all known bits in this flags value are set.
§

fn intersects(&self, other: Self) -> boolwhere Self: Sized,

Whether any set bits in a source flags value are also set in a target flags value.
§

fn contains(&self, other: Self) -> boolwhere Self: Sized,

Whether all set bits in a source flags value are also set in a target flags value.
§

fn insert(&mut self, other: Self)where Self: Sized,

The bitwise or (|) of the bits in two flags values.
§

fn remove(&mut self, other: Self)where Self: Sized,

The intersection of a source flags value with the complement of a target flags value (&!). Read more
§

fn toggle(&mut self, other: Self)where Self: Sized,

The bitwise exclusive-or (^) of the bits in two flags values.
§

fn set(&mut self, other: Self, value: bool)where Self: Sized,

Call [Flags::insert] when value is true or [Flags::remove] when value is false.
§

fn intersection(self, other: Self) -> Self

The bitwise and (&) of the bits in two flags values.
§

fn union(self, other: Self) -> Self

The bitwise or (|) of the bits in two flags values.
§

fn difference(self, other: Self) -> Self

The intersection of a source flags value with the complement of a target flags value (&!). Read more
§

fn symmetric_difference(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in two flags values.
§

fn complement(self) -> Self

The bitwise negation (!) of the bits in a flags value, truncating the result.
source§

impl FromIterator<AccessMask> for AccessMask

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

The bitwise or (|) of the bits in each flags value.

source§

impl IntoIterator for AccessMask

§

type Item = AccessMask

The type of the elements being iterated over.
§

type IntoIter = Iter<AccessMask>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl LowerHex for AccessMask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for AccessMask

source§

fn not(self) -> Self

The bitwise negation (!) of the bits in a flags value, truncating the result.

§

type Output = AccessMask

The resulting type after applying the ! operator.
source§

impl Octal for AccessMask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl PublicFlags for AccessMask

§

type Primitive = u32

The type of the underlying storage.
§

type Internal = InternalBitFlags

The type of the internal field on the generated flags type.
source§

impl Sub<AccessMask> for AccessMask

source§

fn sub(self, other: Self) -> Self

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won’t truncate other, but the ! operator will.

§

type Output = AccessMask

The resulting type after applying the - operator.
source§

impl SubAssign<AccessMask> for AccessMask

source§

fn sub_assign(&mut self, other: Self)

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won’t truncate other, but the ! operator will.

source§

impl UpperHex for AccessMask

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.