1 | //! inotify support for working with inotify objects. |
2 | |
3 | use crate::ffi; |
4 | use bitflags::bitflags; |
5 | |
6 | bitflags! { |
7 | /// `IN_*` for use with [`inotify::init`]. |
8 | /// |
9 | /// [`inotify::init`]: crate::fs::inotify::init |
10 | #[repr (transparent)] |
11 | #[derive (Copy, Clone, Eq, PartialEq, Hash, Debug)] |
12 | pub struct CreateFlags: ffi::c_uint { |
13 | /// `IN_CLOEXEC` |
14 | const CLOEXEC = linux_raw_sys::general::IN_CLOEXEC; |
15 | /// `IN_NONBLOCK` |
16 | const NONBLOCK = linux_raw_sys::general::IN_NONBLOCK; |
17 | |
18 | /// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags> |
19 | const _ = !0; |
20 | } |
21 | } |
22 | |
23 | bitflags! { |
24 | /// `IN*` for use with [`inotify::add_watch`]. |
25 | /// |
26 | /// [`inotify::add_watch`]: crate::fs::inotify::add_watch |
27 | #[repr (transparent)] |
28 | #[derive (Default, Copy, Clone, Eq, PartialEq, Hash, Debug)] |
29 | pub struct WatchFlags: ffi::c_uint { |
30 | /// `IN_ACCESS` |
31 | const ACCESS = linux_raw_sys::general::IN_ACCESS; |
32 | /// `IN_ATTRIB` |
33 | const ATTRIB = linux_raw_sys::general::IN_ATTRIB; |
34 | /// `IN_CLOSE_NOWRITE` |
35 | const CLOSE_NOWRITE = linux_raw_sys::general::IN_CLOSE_NOWRITE; |
36 | /// `IN_CLOSE_WRITE` |
37 | const CLOSE_WRITE = linux_raw_sys::general::IN_CLOSE_WRITE; |
38 | /// `IN_CREATE` |
39 | const CREATE = linux_raw_sys::general::IN_CREATE; |
40 | /// `IN_DELETE` |
41 | const DELETE = linux_raw_sys::general::IN_DELETE; |
42 | /// `IN_DELETE_SELF` |
43 | const DELETE_SELF = linux_raw_sys::general::IN_DELETE_SELF; |
44 | /// `IN_MODIFY` |
45 | const MODIFY = linux_raw_sys::general::IN_MODIFY; |
46 | /// `IN_MOVE_SELF` |
47 | const MOVE_SELF = linux_raw_sys::general::IN_MOVE_SELF; |
48 | /// `IN_MOVED_FROM` |
49 | const MOVED_FROM = linux_raw_sys::general::IN_MOVED_FROM; |
50 | /// `IN_MOVED_TO` |
51 | const MOVED_TO = linux_raw_sys::general::IN_MOVED_TO; |
52 | /// `IN_OPEN` |
53 | const OPEN = linux_raw_sys::general::IN_OPEN; |
54 | |
55 | /// `IN_CLOSE` |
56 | const CLOSE = linux_raw_sys::general::IN_CLOSE; |
57 | /// `IN_MOVE` |
58 | const MOVE = linux_raw_sys::general::IN_MOVE; |
59 | /// `IN_ALL_EVENTS` |
60 | const ALL_EVENTS = linux_raw_sys::general::IN_ALL_EVENTS; |
61 | |
62 | /// `IN_DONT_FOLLOW` |
63 | const DONT_FOLLOW = linux_raw_sys::general::IN_DONT_FOLLOW; |
64 | /// `IN_EXCL_UNLINK` |
65 | const EXCL_UNLINK = linux_raw_sys::general::IN_EXCL_UNLINK; |
66 | /// `IN_MASK_ADD` |
67 | const MASK_ADD = linux_raw_sys::general::IN_MASK_ADD; |
68 | /// `IN_MASK_CREATE` |
69 | const MASK_CREATE = linux_raw_sys::general::IN_MASK_CREATE; |
70 | /// `IN_ONESHOT` |
71 | const ONESHOT = linux_raw_sys::general::IN_ONESHOT; |
72 | /// `IN_ONLYDIR` |
73 | const ONLYDIR = linux_raw_sys::general::IN_ONLYDIR; |
74 | |
75 | /// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags> |
76 | const _ = !0; |
77 | } |
78 | } |
79 | |
80 | bitflags! { |
81 | /// `IN*` for use with [`inotify::Reader`]. |
82 | /// |
83 | /// [`inotify::Reader`]: crate::fs::inotify::InotifyReader |
84 | #[repr (transparent)] |
85 | #[derive (Default, Copy, Clone, Eq, PartialEq, Hash, Debug)] |
86 | pub struct ReadFlags: ffi::c_uint { |
87 | /// `IN_ACCESS` |
88 | const ACCESS = linux_raw_sys::general::IN_ACCESS; |
89 | /// `IN_ATTRIB` |
90 | const ATTRIB = linux_raw_sys::general::IN_ATTRIB; |
91 | /// `IN_CLOSE_NOWRITE` |
92 | const CLOSE_NOWRITE = linux_raw_sys::general::IN_CLOSE_NOWRITE; |
93 | /// `IN_CLOSE_WRITE` |
94 | const CLOSE_WRITE = linux_raw_sys::general::IN_CLOSE_WRITE; |
95 | /// `IN_CREATE` |
96 | const CREATE = linux_raw_sys::general::IN_CREATE; |
97 | /// `IN_DELETE` |
98 | const DELETE = linux_raw_sys::general::IN_DELETE; |
99 | /// `IN_DELETE_SELF` |
100 | const DELETE_SELF = linux_raw_sys::general::IN_DELETE_SELF; |
101 | /// `IN_MODIFY` |
102 | const MODIFY = linux_raw_sys::general::IN_MODIFY; |
103 | /// `IN_MOVE_SELF` |
104 | const MOVE_SELF = linux_raw_sys::general::IN_MOVE_SELF; |
105 | /// `IN_MOVED_FROM` |
106 | const MOVED_FROM = linux_raw_sys::general::IN_MOVED_FROM; |
107 | /// `IN_MOVED_TO` |
108 | const MOVED_TO = linux_raw_sys::general::IN_MOVED_TO; |
109 | /// `IN_OPEN` |
110 | const OPEN = linux_raw_sys::general::IN_OPEN; |
111 | |
112 | /// `IN_IGNORED` |
113 | const IGNORED = linux_raw_sys::general::IN_IGNORED; |
114 | /// `IN_ISDIR` |
115 | const ISDIR = linux_raw_sys::general::IN_ISDIR; |
116 | /// `IN_Q_OVERFLOW` |
117 | const QUEUE_OVERFLOW = linux_raw_sys::general::IN_Q_OVERFLOW; |
118 | /// `IN_UNMOUNT` |
119 | const UNMOUNT = linux_raw_sys::general::IN_UNMOUNT; |
120 | |
121 | /// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags> |
122 | const _ = !0; |
123 | } |
124 | } |
125 | |