Added inotify bindings.

This commit is contained in:
Vincent Dagonneau 2019-01-26 10:29:53 +01:00
parent 42cd3ba272
commit 01752b3cb4

View File

@ -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! {