1 #ifndef _LINUX_DNOTIFY_H 2 #define _LINUX_DNOTIFY_H 3 /* 4 * Directory notification for Linux 5 * 6 * Copyright (C) 2000,2002 Stephen Rothwell 7 */ 8 9 #include <linux/fs.h> 10 11 struct dnotify_struct { 12 struct dnotify_struct * dn_next; 13 __u32 dn_mask; 14 int dn_fd; 15 struct file * dn_filp; 16 fl_owner_t dn_owner; 17 }; 18 19 #ifdef __KERNEL__ 20 21 22 #ifdef CONFIG_DNOTIFY 23 24 #define DNOTIFY_ALL_EVENTS (FS_DELETE | FS_DELETE_CHILD |\ 25 FS_MODIFY | FS_MODIFY_CHILD |\ 26 FS_ACCESS | FS_ACCESS_CHILD |\ 27 FS_ATTRIB | FS_ATTRIB_CHILD |\ 28 FS_CREATE | FS_DN_RENAME |\ 29 FS_MOVED_FROM | FS_MOVED_TO) 30 31 extern void dnotify_flush(struct file *, fl_owner_t); 32 extern int fcntl_dirnotify(int, struct file *, unsigned long); 33 34 #else 35 36 static inline void dnotify_flush(struct file *filp, fl_owner_t id) 37 { 38 } 39 40 static inline int fcntl_dirnotify(int fd, struct file *filp, unsigned long arg) 41 { 42 return -EINVAL; 43 } 44 45 #endif /* CONFIG_DNOTIFY */ 46 47 #endif /* __KERNEL __ */ 48 49 #endif /* _LINUX_DNOTIFY_H */ 50