• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _SYS_INOTIFY_H
2 #define _SYS_INOTIFY_H
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #include <stdint.h>
9 #include <fcntl.h>
10 
11 struct inotify_event {
12 	int wd;
13 	uint32_t mask, cookie, len;
14 	char name[];
15 };
16 
17 #define IN_CLOEXEC O_CLOEXEC
18 #define IN_NONBLOCK O_NONBLOCK
19 
20 #define IN_ACCESS        0x00000001
21 #define IN_MODIFY        0x00000002
22 #define IN_ATTRIB        0x00000004
23 #define IN_CLOSE_WRITE   0x00000008
24 #define IN_CLOSE_NOWRITE 0x00000010
25 #define IN_CLOSE         (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)
26 #define IN_OPEN          0x00000020
27 #define IN_MOVED_FROM    0x00000040
28 #define IN_MOVED_TO      0x00000080
29 #define IN_MOVE          (IN_MOVED_FROM | IN_MOVED_TO)
30 #define IN_CREATE        0x00000100
31 #define IN_DELETE        0x00000200
32 #define IN_DELETE_SELF   0x00000400
33 #define IN_MOVE_SELF     0x00000800
34 #define IN_ALL_EVENTS    0x00000fff
35 
36 #define IN_UNMOUNT       0x00002000
37 #define IN_Q_OVERFLOW    0x00004000
38 #define IN_IGNORED       0x00008000
39 
40 #define IN_ONLYDIR       0x01000000
41 #define IN_DONT_FOLLOW   0x02000000
42 #define IN_EXCL_UNLINK   0x04000000
43 #define IN_MASK_CREATE   0x10000000
44 #define IN_MASK_ADD      0x20000000
45 
46 #define IN_ISDIR         0x40000000
47 #define IN_ONESHOT       0x80000000
48 
49 int inotify_init(void);
50 int inotify_init1(int);
51 int inotify_add_watch(int, const char *, uint32_t);
52 int inotify_rm_watch(int, int);
53 
54 #ifdef __cplusplus
55 }
56 #endif
57 
58 #endif
59