| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef _LINUX_DEVFS_FS_H | 
|  | 2 | #define _LINUX_DEVFS_FS_H | 
|  | 3 |  | 
|  | 4 | #include <linux/ioctl.h> | 
|  | 5 |  | 
|  | 6 | #define DEVFSD_PROTOCOL_REVISION_KERNEL  5 | 
|  | 7 |  | 
|  | 8 | #define	DEVFSD_IOCTL_BASE	'd' | 
|  | 9 |  | 
|  | 10 | /*  These are the various ioctls  */ | 
|  | 11 | #define DEVFSDIOC_GET_PROTO_REV         _IOR(DEVFSD_IOCTL_BASE, 0, int) | 
|  | 12 | #define DEVFSDIOC_SET_EVENT_MASK        _IOW(DEVFSD_IOCTL_BASE, 2, int) | 
|  | 13 | #define DEVFSDIOC_RELEASE_EVENT_QUEUE   _IOW(DEVFSD_IOCTL_BASE, 3, int) | 
|  | 14 | #define DEVFSDIOC_SET_DEBUG_MASK        _IOW(DEVFSD_IOCTL_BASE, 4, int) | 
|  | 15 |  | 
|  | 16 | #define DEVFSD_NOTIFY_REGISTERED    0 | 
|  | 17 | #define DEVFSD_NOTIFY_UNREGISTERED  1 | 
|  | 18 | #define DEVFSD_NOTIFY_ASYNC_OPEN    2 | 
|  | 19 | #define DEVFSD_NOTIFY_CLOSE         3 | 
|  | 20 | #define DEVFSD_NOTIFY_LOOKUP        4 | 
|  | 21 | #define DEVFSD_NOTIFY_CHANGE        5 | 
|  | 22 | #define DEVFSD_NOTIFY_CREATE        6 | 
|  | 23 | #define DEVFSD_NOTIFY_DELETE        7 | 
|  | 24 |  | 
|  | 25 | #define DEVFS_PATHLEN               1024	/*  Never change this otherwise the | 
|  | 26 | binary interface will change   */ | 
|  | 27 |  | 
|  | 28 | struct devfsd_notify_struct {	/*  Use native C types to ensure same types in kernel and user space     */ | 
|  | 29 | unsigned int type;	/*  DEVFSD_NOTIFY_* value                   */ | 
|  | 30 | unsigned int mode;	/*  Mode of the inode or device entry       */ | 
|  | 31 | unsigned int major;	/*  Major number of device entry            */ | 
|  | 32 | unsigned int minor;	/*  Minor number of device entry            */ | 
|  | 33 | unsigned int uid;	/*  Uid of process, inode or device entry   */ | 
|  | 34 | unsigned int gid;	/*  Gid of process, inode or device entry   */ | 
|  | 35 | unsigned int overrun_count;	/*  Number of lost events                   */ | 
|  | 36 | unsigned int namelen;	/*  Number of characters not including '\0' */ | 
|  | 37 | /*  The device name MUST come last                                       */ | 
|  | 38 | char devname[DEVFS_PATHLEN];	/*  This will be '\0' terminated            */ | 
|  | 39 | }; | 
|  | 40 |  | 
|  | 41 | #endif				/*  _LINUX_DEVFS_FS_H  */ |