Struct inotify::WatchMask [−]
pub struct WatchMask { /* fields omitted */ }
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
impl WatchMask
pub const ACCESS: WatchMask
ACCESS: WatchMask = WatchMask{bits: ffi::IN_ACCESS,}
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
ATTRIB: WatchMask = WatchMask{bits: ffi::IN_ATTRIB,}
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
CLOSE_WRITE: WatchMask = WatchMask{bits: ffi::IN_CLOSE_WRITE,}
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
CLOSE_NOWRITE: WatchMask = WatchMask{bits: ffi::IN_CLOSE_NOWRITE,}
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
CREATE: WatchMask = WatchMask{bits: ffi::IN_CREATE,}
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
DELETE: WatchMask = WatchMask{bits: ffi::IN_DELETE,}
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
DELETE_SELF: WatchMask = WatchMask{bits: ffi::IN_DELETE_SELF,}
Watched file/directory was deleted
pub const MODIFY: WatchMask
MODIFY: WatchMask = WatchMask{bits: ffi::IN_MODIFY,}
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
MOVE_SELF: WatchMask = WatchMask{bits: ffi::IN_MOVE_SELF,}
Watched file/directory was moved
pub const MOVED_FROM: WatchMask
MOVED_FROM: WatchMask = WatchMask{bits: ffi::IN_MOVED_FROM,}
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
MOVED_TO: WatchMask = WatchMask{bits: ffi::IN_MOVED_TO,}
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
OPEN: WatchMask = WatchMask{bits: ffi::IN_OPEN,}
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
ALL_EVENTS: WatchMask = WatchMask{bits: ffi::IN_ALL_EVENTS,}
Watch for all events
This constant is simply a convenient combination of the following other constants:
pub const MOVE: WatchMask
MOVE: WatchMask = WatchMask{bits: ffi::IN_MOVE,}
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
CLOSE: WatchMask = WatchMask{bits: ffi::IN_CLOSE,}
Watch for all close events
This constant is simply a convenient combination of the following other constants:
pub const DONT_FOLLOW: WatchMask
DONT_FOLLOW: WatchMask = WatchMask{bits: ffi::IN_DONT_FOLLOW,}
Don't dereference the path if it is a symbolic link
pub const EXCL_UNLINK: WatchMask
EXCL_UNLINK: WatchMask = WatchMask{bits: ffi::IN_EXCL_UNLINK,}
Filter events for directory entries that have been unlinked
pub const MASK_ADD: WatchMask
MASK_ADD: WatchMask = WatchMask{bits: ffi::IN_MASK_ADD,}
If a watch for the inode exists, amend it instead of replacing it
pub const ONESHOT: WatchMask
ONESHOT: WatchMask = WatchMask{bits: ffi::IN_ONESHOT,}
Only receive one event, then remove the watch
pub const ONLYDIR: WatchMask
ONLYDIR: WatchMask = WatchMask{bits: ffi::IN_ONLYDIR,}
Only watch path, if it is a directory
pub fn empty() -> WatchMask
pub fn empty() -> WatchMask
Returns an empty set of flags.
pub fn all() -> WatchMask
pub fn all() -> WatchMask
Returns the set containing all flags.
pub fn bits(&self) -> u32
pub fn bits(&self) -> u32
Returns the raw value of the flags currently stored.
pub fn from_bits(bits: u32) -> Option<WatchMask>
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 fn from_bits_truncate(bits: u32) -> WatchMask
pub fn from_bits_truncate(bits: u32) -> WatchMask
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true
if no flags are currently stored.
pub fn is_all(&self) -> bool
pub fn is_all(&self) -> bool
Returns true
if all flags are currently set.
pub fn intersects(&self, other: WatchMask) -> bool
pub fn intersects(&self, other: WatchMask) -> bool
Returns true
if there are flags common to both self
and other
.
pub fn contains(&self, other: WatchMask) -> bool
pub 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)
pub fn insert(&mut self, other: WatchMask)
Inserts the specified flags in-place.
pub fn remove(&mut self, other: WatchMask)
pub fn remove(&mut self, other: WatchMask)
Removes the specified flags in-place.
pub fn toggle(&mut self, other: WatchMask)
pub fn toggle(&mut self, other: WatchMask)
Toggles the specified flags in-place.
pub fn set(&mut self, other: WatchMask, value: bool)
pub fn set(&mut self, other: WatchMask, value: bool)
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl Copy for WatchMask
impl Copy for WatchMask
impl PartialEq for WatchMask
impl PartialEq for WatchMask
fn eq(&self, other: &WatchMask) -> bool
fn eq(&self, other: &WatchMask) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &WatchMask) -> bool
fn ne(&self, other: &WatchMask) -> bool
This method tests for !=
.
impl Eq for WatchMask
impl Eq for WatchMask
impl Clone for WatchMask
impl Clone for WatchMask
fn clone(&self) -> WatchMask
fn clone(&self) -> WatchMask
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl PartialOrd for WatchMask
impl PartialOrd for WatchMask
fn partial_cmp(&self, other: &WatchMask) -> Option<Ordering>
fn partial_cmp(&self, other: &WatchMask) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &WatchMask) -> bool
fn lt(&self, other: &WatchMask) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &WatchMask) -> bool
fn le(&self, other: &WatchMask) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &WatchMask) -> bool
fn gt(&self, other: &WatchMask) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &WatchMask) -> bool
fn ge(&self, other: &WatchMask) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Ord for WatchMask
impl Ord for WatchMask
fn cmp(&self, other: &WatchMask) -> Ordering
fn cmp(&self, other: &WatchMask) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.21.0[src]
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
impl Hash for WatchMask
impl Hash for WatchMask
fn hash<__H: Hasher>(&self, state: &mut __H)
fn hash<__H: Hasher>(&self, state: &mut __H)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Debug for WatchMask
impl Debug for WatchMask
impl Binary for WatchMask
impl Binary for WatchMask
impl Octal for WatchMask
impl Octal for WatchMask
impl LowerHex for WatchMask
impl LowerHex for WatchMask
impl UpperHex for WatchMask
impl UpperHex for WatchMask
impl BitOr for WatchMask
impl BitOr for WatchMask
type Output = WatchMask
The resulting type after applying the |
operator.
fn bitor(self, other: WatchMask) -> WatchMask
fn bitor(self, other: WatchMask) -> WatchMask
Returns the union of the two sets of flags.
impl BitOrAssign for WatchMask
impl BitOrAssign for WatchMask
fn bitor_assign(&mut self, other: WatchMask)
fn bitor_assign(&mut self, other: WatchMask)
Adds the set of flags.
impl BitXor for WatchMask
impl BitXor for WatchMask
type Output = WatchMask
The resulting type after applying the ^
operator.
fn bitxor(self, other: WatchMask) -> WatchMask
fn bitxor(self, other: WatchMask) -> WatchMask
Returns the left flags, but with all the right flags toggled.
impl BitXorAssign for WatchMask
impl BitXorAssign for WatchMask
fn bitxor_assign(&mut self, other: WatchMask)
fn bitxor_assign(&mut self, other: WatchMask)
Toggles the set of flags.
impl BitAnd for WatchMask
impl BitAnd for WatchMask
type Output = WatchMask
The resulting type after applying the &
operator.
fn bitand(self, other: WatchMask) -> WatchMask
fn bitand(self, other: WatchMask) -> WatchMask
Returns the intersection between the two sets of flags.
impl BitAndAssign for WatchMask
impl BitAndAssign for WatchMask
fn bitand_assign(&mut self, other: WatchMask)
fn bitand_assign(&mut self, other: WatchMask)
Disables all flags disabled in the set.
impl Sub for WatchMask
impl Sub for WatchMask
type Output = WatchMask
The resulting type after applying the -
operator.
fn sub(self, other: WatchMask) -> WatchMask
fn sub(self, other: WatchMask) -> WatchMask
Returns the set difference of the two sets of flags.
impl SubAssign for WatchMask
impl SubAssign for WatchMask
fn sub_assign(&mut self, other: WatchMask)
fn sub_assign(&mut self, other: WatchMask)
Disables all flags enabled in the set.
impl Not for WatchMask
impl Not for WatchMask
type Output = WatchMask
The resulting type after applying the !
operator.
fn not(self) -> WatchMask
fn not(self) -> WatchMask
Returns the complement of this set of flags.
impl Extend<WatchMask> for WatchMask
impl Extend<WatchMask> for WatchMask
fn extend<T: IntoIterator<Item = WatchMask>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = WatchMask>>(&mut self, iterator: T)
Extends a collection with the contents of an iterator. Read more
impl FromIterator<WatchMask> for WatchMask
impl FromIterator<WatchMask> for WatchMask
fn from_iter<T: IntoIterator<Item = WatchMask>>(iterator: T) -> WatchMask
fn from_iter<T: IntoIterator<Item = WatchMask>>(iterator: T) -> WatchMask
Creates a value from an iterator. Read more