ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / linux / dnotify.h
1 /*
2  * Directory notification for Linux
3  *
4  * Copyright (C) 2000,2002 Stephen Rothwell
5  */
6
7 #include <linux/fs.h>
8
9 struct dnotify_struct {
10         struct dnotify_struct * dn_next;
11         unsigned long           dn_mask;        /* Events to be notified
12                                                    see linux/fcntl.h */
13         int                     dn_fd;
14         struct file *           dn_filp;
15         fl_owner_t              dn_owner;
16 };
17
18 extern void __inode_dir_notify(struct inode *, unsigned long);
19 extern void dnotify_flush(struct file *filp, fl_owner_t id);
20 extern int fcntl_dirnotify(int, struct file *, unsigned long);
21 void dnotify_parent(struct dentry *dentry, unsigned long event);
22
23 static inline void inode_dir_notify(struct inode *inode, unsigned long event)
24 {
25         if ((inode)->i_dnotify_mask & (event))
26                 __inode_dir_notify(inode, event);
27 }