inotify.h raw

   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