Merge branch 'pm-tools'
[linux-2.6-microblaze.git] / include / linux / fanotify.h
index 9e21427..b79fa9b 100644 (file)
@@ -19,7 +19,7 @@
                                 FAN_CLASS_PRE_CONTENT)
 
 #define FANOTIFY_INIT_FLAGS    (FANOTIFY_CLASS_BITS | \
-                                FAN_REPORT_TID | \
+                                FAN_REPORT_TID | FAN_REPORT_FID | \
                                 FAN_CLOEXEC | FAN_NONBLOCK | \
                                 FAN_UNLIMITED_QUEUE | FAN_UNLIMITED_MARKS)
 
                                 FAN_MARK_IGNORED_SURV_MODIFY | \
                                 FAN_MARK_FLUSH)
 
-/* Events that user can request to be notified on */
-#define FANOTIFY_EVENTS                (FAN_ACCESS | FAN_MODIFY | \
+/*
+ * Events that can be reported with data type FSNOTIFY_EVENT_PATH.
+ * Note that FAN_MODIFY can also be reported with data type
+ * FSNOTIFY_EVENT_INODE.
+ */
+#define FANOTIFY_PATH_EVENTS   (FAN_ACCESS | FAN_MODIFY | \
                                 FAN_CLOSE | FAN_OPEN | FAN_OPEN_EXEC)
 
+/*
+ * Directory entry modification events - reported only to directory
+ * where entry is modified and not to a watching parent.
+ */
+#define FANOTIFY_DIRENT_EVENTS (FAN_MOVE | FAN_CREATE | FAN_DELETE)
+
+/* Events that can only be reported with data type FSNOTIFY_EVENT_INODE */
+#define FANOTIFY_INODE_EVENTS  (FANOTIFY_DIRENT_EVENTS | \
+                                FAN_ATTRIB | FAN_MOVE_SELF | FAN_DELETE_SELF)
+
+/* Events that user can request to be notified on */
+#define FANOTIFY_EVENTS                (FANOTIFY_PATH_EVENTS | \
+                                FANOTIFY_INODE_EVENTS)
+
 /* Events that require a permission response from user */
 #define FANOTIFY_PERM_EVENTS   (FAN_OPEN_PERM | FAN_ACCESS_PERM | \
                                 FAN_OPEN_EXEC_PERM)
@@ -49,7 +67,7 @@
 /* Events that may be reported to user */
 #define FANOTIFY_OUTGOING_EVENTS       (FANOTIFY_EVENTS | \
                                         FANOTIFY_PERM_EVENTS | \
-                                        FAN_Q_OVERFLOW)
+                                        FAN_Q_OVERFLOW | FAN_ONDIR)
 
 #define ALL_FANOTIFY_EVENT_BITS                (FANOTIFY_OUTGOING_EVENTS | \
                                         FANOTIFY_EVENT_FLAGS)