xref: /third_party/musl/include/sys/inotify.h (revision 570af302)
1#ifndef _SYS_INOTIFY_H
2#define _SYS_INOTIFY_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#include <stdint.h>
9#include <fcntl.h>
10
11struct 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
49int inotify_init(void);
50int inotify_init1(int);
51int inotify_add_watch(int, const char *, uint32_t);
52int inotify_rm_watch(int, int);
53
54#ifdef __cplusplus
55}
56#endif
57
58#endif
59