[−]Struct inotify::WatchMask
Describes a file system watch
Passed to Inotify::add_watch
, to describe what file system events
to watch for, and how to do that.
Examples
WatchMask
constants can be passed to Inotify::add_watch
as is. For
example, here's how to create a watch that triggers an event when a file
is accessed:
inotify.add_watch("/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.add_watch("/tmp/", WatchMask::CREATE | WatchMask::DELETE) .expect("Error adding watch");
Methods
impl WatchMask
pub const ACCESS: WatchMask
File was accessed
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
pub const ATTRIB: WatchMask
Metadata (permissions, timestamps, ...) changed
When watching a directory, this event can be triggered for the directory itself, as well as objects inside the directory.
pub const CLOSE_WRITE: WatchMask
File opened for writing was closed
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
pub const CLOSE_NOWRITE: WatchMask
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.
pub const CREATE: WatchMask
File/directory created in watched directory
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
pub const DELETE: WatchMask
File/directory deleted from watched directory
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
pub const DELETE_SELF: WatchMask
Watched file/directory was deleted
pub const MODIFY: WatchMask
File was modified
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
pub const MOVE_SELF: WatchMask
Watched file/directory was moved
pub const MOVED_FROM: WatchMask
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.
pub const MOVED_TO: WatchMask
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.
pub const OPEN: WatchMask
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
.
pub const ALL_EVENTS: WatchMask
Watch for all events
This constant is simply a convenient combination of the following other constants:
pub const MOVE: WatchMask
Watch for all move events
This constant is simply a convenient combination of the following other constants:
See inotify_sys::IN_MOVE
.
pub const CLOSE: WatchMask
Watch for all close events
This constant is simply a convenient combination of the following other constants:
pub const DONT_FOLLOW: WatchMask
Don't dereference the path if it is a symbolic link
pub const EXCL_UNLINK: WatchMask
Filter events for directory entries that have been unlinked
pub const MASK_ADD: WatchMask
If a watch for the inode exists, amend it instead of replacing it
pub const ONESHOT: WatchMask
Only receive one event, then remove the watch
pub const ONLYDIR: WatchMask
Only watch path, if it is a directory
pub const fn empty() -> WatchMask
Returns an empty set of flags
pub const fn all() -> WatchMask
Returns the set containing all flags.
pub const fn bits(&self) -> u32
Returns the raw value of the flags currently stored.
pub fn from_bits(bits: u32) -> Option<WatchMask>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
pub const fn from_bits_truncate(bits: u32) -> WatchMask
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub const fn is_empty(&self) -> bool
Returns true
if no flags are currently stored.
pub const fn is_all(&self) -> bool
Returns true
if all flags are currently set.
pub const fn intersects(&self, other: WatchMask) -> bool
Returns true
if there are flags common to both self
and other
.
pub const fn contains(&self, other: WatchMask) -> bool
Returns true
all of the flags in other
are contained within self
.
pub fn insert(&mut self, other: WatchMask)
Inserts the specified flags in-place.
pub fn remove(&mut self, other: WatchMask)
Removes the specified flags in-place.
pub fn toggle(&mut self, other: WatchMask)
Toggles the specified flags in-place.
pub fn set(&mut self, other: WatchMask, value: bool)
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl Eq for WatchMask
impl Clone for WatchMask
fn clone(&self) -> WatchMask
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl PartialOrd<WatchMask> for WatchMask
fn partial_cmp(&self, other: &WatchMask) -> Option<Ordering>
fn lt(&self, other: &WatchMask) -> bool
fn le(&self, other: &WatchMask) -> bool
fn gt(&self, other: &WatchMask) -> bool
fn ge(&self, other: &WatchMask) -> bool
impl Extend<WatchMask> for WatchMask
fn extend<T: IntoIterator<Item = WatchMask>>(&mut self, iterator: T)
impl PartialEq<WatchMask> for WatchMask
impl Ord for WatchMask
fn cmp(&self, other: &WatchMask) -> Ordering
fn max(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
1.21.0[src]
fn clamp(self, min: Self, max: Self) -> Self
[src]
impl Copy for WatchMask
impl Hash for WatchMask
fn hash<__H: Hasher>(&self, state: &mut __H)
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Sub<WatchMask> for WatchMask
type Output = WatchMask
The resulting type after applying the -
operator.
fn sub(self, other: WatchMask) -> WatchMask
Returns the set difference of the two sets of flags.
impl SubAssign<WatchMask> for WatchMask
fn sub_assign(&mut self, other: WatchMask)
Disables all flags enabled in the set.
impl Not for WatchMask
type Output = WatchMask
The resulting type after applying the !
operator.
fn not(self) -> WatchMask
Returns the complement of this set of flags.
impl BitAnd<WatchMask> for WatchMask
type Output = WatchMask
The resulting type after applying the &
operator.
fn bitand(self, other: WatchMask) -> WatchMask
Returns the intersection between the two sets of flags.
impl BitOr<WatchMask> for WatchMask
type Output = WatchMask
The resulting type after applying the |
operator.
fn bitor(self, other: WatchMask) -> WatchMask
Returns the union of the two sets of flags.
impl BitXor<WatchMask> for WatchMask
type Output = WatchMask
The resulting type after applying the ^
operator.
fn bitxor(self, other: WatchMask) -> WatchMask
Returns the left flags, but with all the right flags toggled.
impl BitAndAssign<WatchMask> for WatchMask
fn bitand_assign(&mut self, other: WatchMask)
Disables all flags disabled in the set.
impl BitOrAssign<WatchMask> for WatchMask
fn bitor_assign(&mut self, other: WatchMask)
Adds the set of flags.
impl BitXorAssign<WatchMask> for WatchMask
fn bitxor_assign(&mut self, other: WatchMask)
Toggles the set of flags.
impl Debug for WatchMask
impl FromIterator<WatchMask> for WatchMask
fn from_iter<T: IntoIterator<Item = WatchMask>>(iterator: T) -> WatchMask
impl Octal for WatchMask
impl Binary for WatchMask
impl LowerHex for WatchMask
impl UpperHex for WatchMask
Auto Trait Implementations
impl Send for WatchMask
impl Unpin for WatchMask
impl Sync for WatchMask
impl UnwindSafe for WatchMask
impl RefUnwindSafe for WatchMask
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,