pub struct WatchMask(/* private fields */);
Expand description
Describes a file system watch
Passed to Watches::add
, to describe what file system events
to watch for, and how to do that.
§Examples
WatchMask
constants can be passed to Watches::add
as is. For
example, here’s how to create a watch that triggers an event when a file
is accessed:
inotify.watches().add("/tmp/inotify-rs-test-file", WatchMask::ACCESS)
.expect("Error adding watch");
You can also combine multiple WatchMask
constants. Here we add a watch
this is triggered both when files are created or deleted in a directory:
inotify.watches().add("/tmp/", WatchMask::CREATE | WatchMask::DELETE)
.expect("Error adding watch");
Implementations§
source§impl WatchMask
impl WatchMask
sourcepub const ACCESS: Self = _
pub const ACCESS: Self = _
File was accessed
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
sourcepub const ATTRIB: Self = _
pub const ATTRIB: Self = _
Metadata (permissions, timestamps, …) changed
When watching a directory, this event can be triggered for the directory itself, as well as objects inside the directory.
sourcepub const CLOSE_WRITE: Self = _
pub const CLOSE_WRITE: Self = _
File opened for writing was closed
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
sourcepub const CLOSE_NOWRITE: Self = _
pub const CLOSE_NOWRITE: Self = _
File or directory not opened for writing was closed
When watching a directory, this event can be triggered for the directory itself, as well as objects inside the directory.
sourcepub const CREATE: Self = _
pub const CREATE: Self = _
File/directory created in watched directory
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
sourcepub const DELETE: Self = _
pub const DELETE: Self = _
File/directory deleted from watched directory
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
sourcepub const DELETE_SELF: Self = _
pub const DELETE_SELF: Self = _
Watched file/directory was deleted
sourcepub const MODIFY: Self = _
pub const MODIFY: Self = _
File was modified
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
sourcepub const MOVED_FROM: Self = _
pub const MOVED_FROM: Self = _
File was renamed/moved; watched directory contained old name
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
sourcepub const MOVED_TO: Self = _
pub const MOVED_TO: Self = _
File was renamed/moved; watched directory contains new name
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
sourcepub const OPEN: Self = _
pub const OPEN: Self = _
File or directory was opened
When watching a directory, this event can be triggered for the directory itself, as well as objects inside the directory.
See inotify_sys::IN_OPEN
.
sourcepub const ALL_EVENTS: Self = _
pub const ALL_EVENTS: Self = _
Watch for all events
This constant is simply a convenient combination of the following other constants:
sourcepub const MOVE: Self = _
pub const MOVE: Self = _
Watch for all move events
This constant is simply a convenient combination of the following other constants:
See inotify_sys::IN_MOVE
.
sourcepub const CLOSE: Self = _
pub const CLOSE: Self = _
Watch for all close events
This constant is simply a convenient combination of the following other constants:
sourcepub const DONT_FOLLOW: Self = _
pub const DONT_FOLLOW: Self = _
Don’t dereference the path if it is a symbolic link
sourcepub const EXCL_UNLINK: Self = _
pub const EXCL_UNLINK: Self = _
Filter events for directory entries that have been unlinked
source§impl WatchMask
impl WatchMask
sourcepub const fn bits(&self) -> u32
pub const fn bits(&self) -> u32
Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
sourcepub const fn from_bits(bits: u32) -> Option<Self>
pub const fn from_bits(bits: u32) -> Option<Self>
Convert from a bits value.
This method will return None
if any unknown bits are set.
sourcepub const fn from_bits_truncate(bits: u32) -> Self
pub const fn from_bits_truncate(bits: u32) -> Self
Convert from a bits value, unsetting any unknown bits.
sourcepub const fn from_bits_retain(bits: u32) -> Self
pub const fn from_bits_retain(bits: u32) -> Self
Convert from a bits value exactly.
sourcepub fn from_name(name: &str) -> Option<Self>
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.
sourcepub const fn intersects(&self, other: Self) -> bool
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.
sourcepub const fn contains(&self, other: Self) -> bool
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.
sourcepub fn remove(&mut self, other: Self)
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.
sourcepub fn toggle(&mut self, other: Self)
pub fn toggle(&mut self, other: Self)
The bitwise exclusive-or (^
) of the bits in two flags values.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Call insert
when value
is true
or remove
when value
is false
.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
The bitwise and (&
) of the bits in two flags values.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
The bitwise or (|
) of the bits in two flags values.
sourcepub const fn difference(self, other: Self) -> Self
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.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
The bitwise exclusive-or (^
) of the bits in two flags values.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
The bitwise negation (!
) of the bits in a flags value, truncating the result.
source§impl WatchMask
impl WatchMask
sourcepub const fn iter(&self) -> Iter<WatchMask>
pub const fn iter(&self) -> Iter<WatchMask>
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.
sourcepub const fn iter_names(&self) -> IterNames<WatchMask>
pub const fn iter_names(&self) -> IterNames<WatchMask>
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.
source§impl WatchMask
impl WatchMask
sourcepub unsafe fn from_bits_unchecked(bits: u32) -> Self
👎Deprecated: Use the safe from_bits_retain
method instead
pub unsafe fn from_bits_unchecked(bits: u32) -> Self
from_bits_retain
method insteadWrapper around Self::from_bits_retain
for backwards compatibility
§Safety
This function is not actually unsafe. It is just a wrapper around the
safe Self::from_bits_retain
.
Trait Implementations§
source§impl BitAndAssign for WatchMask
impl BitAndAssign for WatchMask
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
The bitwise and (&
) of the bits in two flags values.
source§impl BitOrAssign for WatchMask
impl BitOrAssign for WatchMask
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
The bitwise or (|
) of the bits in two flags values.
source§impl BitXorAssign for WatchMask
impl BitXorAssign for WatchMask
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
The bitwise exclusive-or (^
) of the bits in two flags values.
source§impl Extend<WatchMask> for WatchMask
impl Extend<WatchMask> for WatchMask
source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
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)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl Flags for WatchMask
impl Flags for WatchMask
source§fn from_bits_retain(bits: u32) -> WatchMask
fn from_bits_retain(bits: u32) -> WatchMask
source§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
source§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<Self>
source§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
source§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|
) of the bits in two flags values.source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
&!
). Read moresource§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^
) of the bits in two flags values.source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&
) of the bits in two flags values.source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
&!
). Read moresource§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^
) of the bits in two flags values.source§fn complement(self) -> Self
fn complement(self) -> Self
!
) of the bits in a flags value, truncating the result.source§impl FromIterator<WatchMask> for WatchMask
impl FromIterator<WatchMask> for WatchMask
source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
The bitwise or (|
) of the bits in each flags value.
source§impl IntoIterator for WatchMask
impl IntoIterator for WatchMask
source§impl Ord for WatchMask
impl Ord for WatchMask
source§impl PartialOrd for WatchMask
impl PartialOrd for WatchMask
source§impl Sub for WatchMask
impl Sub for WatchMask
source§impl SubAssign for WatchMask
impl SubAssign for WatchMask
source§fn sub_assign(&mut self, other: Self)
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.
impl Copy for WatchMask
impl Eq for WatchMask
impl StructuralPartialEq for WatchMask
Auto Trait Implementations§
impl Freeze for WatchMask
impl RefUnwindSafe for WatchMask
impl Send for WatchMask
impl Sync for WatchMask
impl Unpin for WatchMask
impl UnwindSafe for WatchMask
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
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)
clone_to_uninit
)