Added inotify bindings.
This commit is contained in:
parent
42cd3ba272
commit
01752b3cb4
@ -655,6 +655,13 @@ s! {
|
||||
pub updated: ::c_ulong,
|
||||
pub ha: [::c_uchar; ::MAX_ADDR_LEN],
|
||||
}
|
||||
|
||||
pub struct inotify_event {
|
||||
pub wd: ::c_int,
|
||||
pub mask: ::uint32_t,
|
||||
pub cookie: ::uint32_t,
|
||||
pub len: ::uint32_t
|
||||
}
|
||||
}
|
||||
|
||||
pub const ABDAY_1: ::nl_item = 0x20000;
|
||||
@ -1677,6 +1684,46 @@ pub const ARPD_LOOKUP: ::c_ushort = 0x02;
|
||||
pub const ARPD_FLUSH: ::c_ushort = 0x03;
|
||||
pub const ATF_MAGIC: ::c_int = 0x80;
|
||||
|
||||
// uapi/linux/inotify.h
|
||||
pub const IN_ACCESS: ::uint32_t = 0x0000_0001;
|
||||
pub const IN_MODIFY: ::uint32_t = 0x0000_0002;
|
||||
pub const IN_ATTRIB: ::uint32_t = 0x0000_0004;
|
||||
pub const IN_CLOSE_WRITE: ::uint32_t = 0x0000_0008;
|
||||
pub const IN_CLOSE_NOWRITE: ::uint32_t = 0x0000_0010;
|
||||
pub const IN_OPEN: ::uint32_t = 0x0000_0020;
|
||||
pub const IN_MOVED_FROM: ::uint32_t = 0x0000_0040;
|
||||
pub const IN_MOVED_TO: ::uint32_t = 0x0000_0080;
|
||||
pub const IN_CREATE: ::uint32_t = 0x0000_0100;
|
||||
pub const IN_DELETE: ::uint32_t = 0x0000_0200;
|
||||
pub const IN_DELETE_SELF: ::uint32_t = 0x0000_0400;
|
||||
pub const IN_MOVE_SELF: ::uint32_t = 0x0000_0800;
|
||||
|
||||
pub const IN_UNMOUNT: ::uint32_t = 0x0000_2000;
|
||||
pub const IN_Q_OVERFLOW: ::uint32_t = 0x0000_4000;
|
||||
pub const IN_IGNORED: ::uint32_t = 0x0000_8000;
|
||||
|
||||
pub const IN_CLOSE: ::uint32_t = (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE);
|
||||
pub const IN_MOVE: ::uint32_t = (IN_MOVED_FROM | IN_MOVED_TO);
|
||||
|
||||
pub const IN_ONLYDIR: ::uint32_t = 0x0100_0000;
|
||||
pub const IN_DONT_FOLLOW: ::uint32_t = 0x0200_0000;
|
||||
pub const IN_EXCL_UNLINK: ::uint32_t = 0x0400_0000;
|
||||
|
||||
pub const IN_MASK_CREATE: ::uint32_t = 0x1000_0000;
|
||||
pub const IN_MASK_ADD: ::uint32_t = 0x2000_0000;
|
||||
pub const IN_ISDIR: ::uint32_t = 0x4000_0000;
|
||||
pub const IN_ONESHOT: ::uint32_t = 0x8000_0000;
|
||||
|
||||
pub const IN_ALL_EVENTS: ::uint32_t = (
|
||||
IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE |
|
||||
IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM |
|
||||
IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF |
|
||||
IN_MOVE_SELF
|
||||
);
|
||||
|
||||
pub const IN_CLOEXEC: ::c_int = O_CLOEXEC;
|
||||
pub const IN_NONBLOCK: ::c_int = O_NONBLOCK;
|
||||
|
||||
#[cfg(not(target_arch = "sparc64"))]
|
||||
pub const SO_TIMESTAMPING: ::c_int = 37;
|
||||
#[cfg(target_arch = "sparc64")]
|
||||
@ -2259,6 +2306,12 @@ extern {
|
||||
nobj: ::size_t,
|
||||
stream: *mut ::FILE
|
||||
) -> ::size_t;
|
||||
pub fn inotify_init() -> ::c_int;
|
||||
pub fn inotify_init1(flags: ::c_int) -> ::c_int;
|
||||
pub fn inotify_add_watch(fd: ::c_int,
|
||||
path: *const ::c_char,
|
||||
mask: ::uint32_t) -> ::c_int;
|
||||
pub fn inotify_rm_watch(fd: ::c_int, wd: ::c_int) -> ::c_int;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
|
Loading…
Reference in New Issue
Block a user