blob: 78acdfd07a7cc418e42f28dfb3cc68e8151ba18b [file] [log] [blame]
Rich Felker095a5ae2011-02-19 02:52:29 -05001#ifndef _SYS_INOTIFY_H
2#define _SYS_INOTIFY_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#include <stdint.h>
9
10struct inotify_event {
Rich Felkerb1b75232011-02-20 16:21:39 -050011 int wd;
Rich Felker095a5ae2011-02-19 02:52:29 -050012 uint32_t mask, cookie, len;
13 char name[];
14};
15
Rich Felker570edb12012-02-07 22:48:58 -050016#define IN_CLOEXEC 02000000
Rich Felker095a5ae2011-02-19 02:52:29 -050017#define IN_NONBLOCK 04000
18
19#define IN_ACCESS 0x00000001
20#define IN_MODIFY 0x00000002
21#define IN_ATTRIB 0x00000004
22#define IN_CLOSE_WRITE 0x00000008
23#define IN_CLOSE_NOWRITE 0x00000010
24#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)
25#define IN_OPEN 0x00000020
26#define IN_MOVED_FROM 0x00000040
27#define IN_MOVED_TO 0x00000080
28#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO)
29#define IN_CREATE 0x00000100
30#define IN_DELETE 0x00000200
31#define IN_DELETE_SELF 0x00000400
32#define IN_MOVE_SELF 0x00000800
33#define IN_ALL_EVENTS 0x00000fff
34
35#define IN_UNMOUNT 0x00002000
36#define IN_Q_OVERFLOW 0x00004000
37#define IN_IGNORED 0x00008000
38
39#define IN_ONLYDIR 0x01000000
40#define IN_DONT_FOLLOW 0x02000000
41#define IN_MASK_ADD 0x20000000
42
43#define IN_ISDIR 0x40000000
44#define IN_ONESHOT 0x80000000
45
46int inotify_init(void);
47int inotify_init1(int);
48int inotify_add_watch(int, const char *, uint32_t);
49int inotify_rm_watch(int, uint32_t);
50
51#ifdef __cplusplus
52}
53#endif
54
55#endif