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

impl PartialOrd<WatchMask> for WatchMask

impl Extend<WatchMask> for WatchMask

impl PartialEq<WatchMask> for WatchMask

impl Ord for WatchMask

impl Copy for WatchMask

impl Hash for WatchMask

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

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]

type Owned = T

The resulting type after obtaining ownership.

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

impl<T> From<T> for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.

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

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

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