[]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

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.

See inotify_sys::IN_ACCESS.

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.

See inotify_sys::IN_ATTRIB.

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.

See inotify_sys::IN_CLOSE_WRITE.

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.

See inotify_sys::IN_CLOSE_NOWRITE.

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.

See inotify_sys::IN_CREATE.

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.

See inotify_sys::IN_DELETE.

pub const DELETE_SELF: WatchMask

Watched file/directory was deleted

See inotify_sys::IN_DELETE_SELF.

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.

See inotify_sys::IN_MODIFY.

pub const MOVE_SELF: WatchMask

Watched file/directory was moved

See inotify_sys::IN_MOVE_SELF.

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.

See inotify_sys::IN_MOVED_FROM.

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.

See inotify_sys::IN_MOVED_TO.

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:

See inotify_sys::IN_ALL_EVENTS.

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:

See inotify_sys::IN_CLOSE.

pub const DONT_FOLLOW: WatchMask

Don't dereference the path if it is a symbolic link

See inotify_sys::IN_DONT_FOLLOW.

Filter events for directory entries that have been unlinked

See inotify_sys::IN_EXCL_UNLINK.

pub const MASK_ADD: WatchMask

If a watch for the inode exists, amend it instead of replacing it

See inotify_sys::IN_MASK_ADD.

pub const ONESHOT: WatchMask

Only receive one event, then remove the watch

See inotify_sys::IN_ONESHOT.

pub const ONLYDIR: WatchMask

Only watch path, if it is a directory

See inotify_sys::IN_ONLYDIR.

pub fn empty() -> WatchMask

Returns an empty set of flags.

pub fn all() -> WatchMask

Returns the set containing all flags.

pub 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 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

Returns true if no flags are currently stored.

pub fn is_all(&self) -> bool

Returns true if all flags are currently set.

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

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_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Extend<WatchMask> for WatchMask

impl Copy for WatchMask

impl PartialOrd<WatchMask> for WatchMask

impl PartialEq<WatchMask> for WatchMask

impl Ord for WatchMask

fn max(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the minimum of two values. Read more

impl Hash for WatchMask

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

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 FromIterator<WatchMask> for WatchMask

impl Debug for 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 Sync for WatchMask

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Erased for T