3 valac --vapidir=. --pkg fanotify --pkg posix -o /tmp/fanotify fanotify.vala fanotify-helper.c
8 extern void fanotify_read (int fh);
10 void main (string[] args) {
14 //var fan = Fanotify.init(Fanotify.InitFlag.CLOEXEC | Fanotify.InitFlag.CLASS_CONTENT , Posix.O_RDONLY );
16 //non-root (not content?)
17 // var fan = Fanotify.init(Fanotify.InitFlag.CLOEXEC | Fanotify.InitFlag.CLASS_NOTIF | Fanotify.InitFlag.REPORT_FID , Posix.O_RDONLY );
18 var fan = Fanotify.init(
19 Fanotify.InitFlag.CLOEXEC | Fanotify.InitFlag.CLASS_NOTIF | Fanotify.InitFlag.REPORT_DIR_FID | Fanotify.InitFlag.REPORT_NAME ,
22 Posix.perror("fanotify_init");
23 Posix.exit(Posix.EXIT_FAILURE);
27 var ret = Fanotify.mark(
29 Fanotify.Mark.ADD | Fanotify.Mark.MOUNT,
30 Fanotify.EventType.OPEN_PERM | Fanotify.EventType.CLOSE_WRITE ,
31 Posix.AT_FDCWD, "/home/"
35 var ret = Fanotify.mark(
38 Fanotify.EventType.CREATE | Fanotify.EventType.DELETE | Fanotify.EventType.MODIFY | Fanotify.EventType.EVENT_ON_CHILD,
39 Posix.AT_FDCWD, "/home/alan/gitlive/gitlive/fanotify"
43 Posix.perror("fanotify_mark");
44 Posix.exit(Posix.EXIT_FAILURE);
46 Posix.printf("got mark %d", ret);