On Mon, 2005-03-14 at 17:14 -0600, Timothy R. Chavez wrote:
 @@ -150,6 +186,7 @@ extern void audit_get_stamp(struct audit
                             struct timespec *t, int *serial);
  extern int  audit_set_loginuid(struct audit_context *ctx, uid_t loginuid);
  extern uid_t audit_get_loginuid(struct audit_context *ctx);
 +extern int audit_notify_watch(struct inode *inode, int mask);
  #else
  #define audit_alloc(t) ({ 0; })
  #define audit_free(t) do { ; } while (0) 
You add a real declaration of audit_notify_watch() if
CONFIG_AUDITSYSCALL...
 @@ -161,6 +198,26 @@ extern uid_t audit_get_loginuid(struct a
  #define audit_get_loginuid(c) ({ -1; })
  #endif
  
 +#ifdef CONFIG_AUDITFILESYSTEM
 +extern int audit_receive_watch(int type, int pid, int uid, int seq,
 +                              struct audit_watch *req);
 +extern int audit_filesystem_init(void);
 +extern void audit_inode_alloc(struct inode *inode);
 +extern void audit_inode_free(struct inode *inode);
 +extern void audit_watch(struct dentry *dentry, int remove);
 +extern void audit_wentry_put(struct audit_wentry *wentry);
 +extern struct audit_wentry *audit_wentry_get(struct audit_wentry *wentry);
 +#else
 +#define audit_receive_watch(t,p,u,s,r) ({ -EOPNOTSUPP; })
 +#define audit_filesystem_init() ({ 0; })
 +#define audit_inode_alloc(i) do { ; } while(0)
 +#define audit_inode_free(i) do { ; } while(0)
 +#define audit_watch(d,r) do { ; } while (0)
 +#define audit_wentry_put(w) do { ; } while(0)
 +#define audit_wentry_get(w) ({ 0; })
 +#define audit_notify_watch(i,m) ({ 0; })
 +#endif
 + 
... and the dummy macro if !CONFIG_AUDITFILESYSTEM. I'd already pointed
out that you provide the _implementation_ when CONFIG_AUDITSYSCALL is
set, not just when CONFIG_AUDITFILESYSTEM is set, but this is separate.
-- 
dwmw2