#include <linux/fsnotify_backend.h>
#include <linux/inotify.h>
#include <linux/slab.h> /* struct kmem_cache */

extern struct kmem_cache *event_priv_cachep;

struct inotify_event_private_data {
	struct fsnotify_event_private_data fsnotify_event_priv_data;
	int wd;
};

struct inotify_inode_mark_entry {
	/* fsnotify_mark_entry MUST be the first thing */
	struct fsnotify_mark_entry fsn_entry;
	int wd;
};

extern void inotify_ignored_and_remove_idr(struct fsnotify_mark_entry *entry,
					   struct fsnotify_group *group);
extern void inotify_free_event_priv(struct fsnotify_event_private_data *event_priv);

extern const struct fsnotify_ops inotify_fsnotify_ops;
