#ifndef XFS_HOOKS_H_
#define XFS_HOOKS_H_
#ifdef CONFIG_XFS_LIVE_HOOKS
struct xfs_hooks { … };
#define DEFINE_STATIC_XFS_HOOK_SWITCH(name) …
#define xfs_hooks_switch_on(name) …
#define xfs_hooks_switch_off(name) …
#define xfs_hooks_switched_on(name) …
struct xfs_hook { … };
xfs_hook_fn_t;
void xfs_hooks_init(struct xfs_hooks *chain);
int xfs_hooks_add(struct xfs_hooks *chain, struct xfs_hook *hook);
void xfs_hooks_del(struct xfs_hooks *chain, struct xfs_hook *hook);
int xfs_hooks_call(struct xfs_hooks *chain, unsigned long action,
void *priv);
static inline void xfs_hook_setup(struct xfs_hook *hook, notifier_fn_t fn)
{ … }
#else
struct xfs_hooks { };
#define DEFINE_STATIC_XFS_HOOK_SWITCH …
#define xfs_hooks_switch_on …
#define xfs_hooks_switch_off …
#define xfs_hooks_switched_on …
#define xfs_hooks_init …
#define xfs_hooks_call …
#endif
#endif