Eric Paris | ff0b16a | 2009-12-17 21:24:25 -0500 | [diff] [blame] | 1 | #ifndef _LINUX_FANOTIFY_H |
| 2 | #define _LINUX_FANOTIFY_H |
| 3 | |
| 4 | #include <linux/types.h> |
| 5 | |
| 6 | /* the following events that user-space can register for */ |
| 7 | #define FAN_ACCESS 0x00000001 /* File was accessed */ |
| 8 | #define FAN_MODIFY 0x00000002 /* File was modified */ |
| 9 | #define FAN_CLOSE_WRITE 0x00000008 /* Unwrittable file closed */ |
| 10 | #define FAN_CLOSE_NOWRITE 0x00000010 /* Writtable file closed */ |
| 11 | #define FAN_OPEN 0x00000020 /* File was opened */ |
| 12 | |
| 13 | #define FAN_EVENT_ON_CHILD 0x08000000 /* interested in child events */ |
| 14 | |
| 15 | /* FIXME currently Q's have no limit.... */ |
| 16 | #define FAN_Q_OVERFLOW 0x00004000 /* Event queued overflowed */ |
| 17 | |
| 18 | /* helper events */ |
| 19 | #define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) /* close */ |
| 20 | |
Eric Paris | 52c923d | 2009-12-17 21:24:26 -0500 | [diff] [blame^] | 21 | #define FAN_CLOEXEC 0x00000001 |
| 22 | #define FAN_NONBLOCK 0x00000002 |
| 23 | |
| 24 | #define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK) |
Eric Paris | ff0b16a | 2009-12-17 21:24:25 -0500 | [diff] [blame] | 25 | /* |
| 26 | * All of the events - we build the list by hand so that we can add flags in |
| 27 | * the future and not break backward compatibility. Apps will get only the |
| 28 | * events that they originally wanted. Be sure to add new events here! |
| 29 | */ |
| 30 | #define FAN_ALL_EVENTS (FAN_ACCESS |\ |
| 31 | FAN_MODIFY |\ |
| 32 | FAN_CLOSE |\ |
| 33 | FAN_OPEN) |
| 34 | |
| 35 | /* |
| 36 | * All legal FAN bits userspace can request (although possibly not all |
| 37 | * at the same time. |
| 38 | */ |
| 39 | #define FAN_ALL_INCOMING_EVENTS (FAN_ALL_EVENTS |\ |
| 40 | FAN_EVENT_ON_CHILD) |
| 41 | #ifdef __KERNEL__ |
| 42 | |
| 43 | #endif /* __KERNEL__ */ |
| 44 | #endif /* _LINUX_FANOTIFY_H */ |