#[repr(C)]pub struct inotify_event {
pub wd: c_int,
pub mask: u32,
pub cookie: u32,
pub len: u32,
}
Expand description
Describes a file system event
From inotify(7):
To determine what events have occurred, an application read(2)s from the inotify file descriptor. If no events have so far occurred, then, assuming a blocking file descriptor, read(2) will block until at least one event occurs (unless interrupted by a signal, in which case the call fails with the error EINTR; see signal(7)).
Each successful read(2) returns a buffer containing one or more of this structure.
Fields§
§wd: c_int
Identifies the watch for which this event occurs
This is one of the watch descriptors returned by a previous call to
inotify_add_watch()
.
mask: u32
Describes the type file system event
One of the following bits will be set, to identify the type of event:
IN_ACCESS
IN_ATTRIB
IN_CLOSE_NOWRITE
IN_CLOSE_WRITE
IN_CREATE
IN_DELETE
IN_DELETE_SELF
IN_IGNORED
IN_MODIFY
IN_MOVED_FROM
IN_MOVED_TO
IN_MOVE_SELF
IN_OPEN
IN_Q_OVERFLOW
IN_UNMOUNT
Some constants cover multiple bits, and can be used for a less precise check of the event type:
In addition, the IN_ISDIR
bit can be set.
A number that connects related events
Currently used only for rename events. A related pair of
IN_MOVED_FROM
and IN_MOVED_TO
events will have the same,
non-zero, cookie. For all other events, cookie is 0.
len: u32
The length of name
Used to determine the size of this structure. When name
isn’t present (name
is only present when an event occurs
for a file inside a watched directory), it is 0. When name
is present, it counts all of name
’s bytes, including \0
.
The
name
field is present only when an event is returned for a file inside a watched directory; it identifies the file pathname relative to the watched directory. This pathname is null-terminated, and may include further null bytes (‘\0’) to align subsequent reads to a suitable address boundary.
The name
field has been ommited in this struct’s definition.
Trait Implementations§
Source§impl Clone for inotify_event
impl Clone for inotify_event
Source§fn clone(&self) -> inotify_event
fn clone(&self) -> inotify_event
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for inotify_event
impl Debug for inotify_event
impl Copy for inotify_event
Auto Trait Implementations§
impl Freeze for inotify_event
impl RefUnwindSafe for inotify_event
impl Send for inotify_event
impl Sync for inotify_event
impl Unpin for inotify_event
impl UnwindSafe for inotify_event
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes