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 */ |