pub struct Inotify { /* private fields */ }
Expand description
An inotify instance. This is also a file descriptor, you can feed it to other interfaces consuming file descriptors, epoll for example.
Implementations§
source§impl Inotify
impl Inotify
sourcepub fn init(flags: InitFlags) -> Result<Inotify>
pub fn init(flags: InitFlags) -> Result<Inotify>
Initialize a new inotify instance.
Returns a Result containing an inotify instance.
For more information see, inotify_init(2).
sourcepub fn add_watch<P: ?Sized + NixPath>(
&self,
path: &P,
mask: AddWatchFlags,
) -> Result<WatchDescriptor>
pub fn add_watch<P: ?Sized + NixPath>( &self, path: &P, mask: AddWatchFlags, ) -> Result<WatchDescriptor>
Adds a new watch on the target file or directory.
Returns a watch descriptor. This is not a File Descriptor!
For more information see, inotify_add_watch(2).
sourcepub fn rm_watch(&self, wd: WatchDescriptor) -> Result<()>
pub fn rm_watch(&self, wd: WatchDescriptor) -> Result<()>
Removes an existing watch using the watch descriptor returned by inotify_add_watch.
Returns an EINVAL error if the watch descriptor is invalid.
For more information see, inotify_rm_watch(2).
sourcepub fn read_events(&self) -> Result<Vec<InotifyEvent>>
pub fn read_events(&self) -> Result<Vec<InotifyEvent>>
Reads a collection of events from the inotify file descriptor. This call can either be blocking or non blocking depending on whether IN_NONBLOCK was set at initialization.
Returns as many events as available. If the call was non blocking and no events could be read then the EAGAIN error is returned.