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