inotify.h 1.4 KB

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