| #ifndef _LINUX_DEVFS_FS_H | |
| #define _LINUX_DEVFS_FS_H | |
| #include <linux/ioctl.h> | |
| #define DEVFSD_PROTOCOL_REVISION_KERNEL 5 | |
| #define DEVFSD_IOCTL_BASE 'd' | |
| /* These are the various ioctls */ | |
| #define DEVFSDIOC_GET_PROTO_REV _IOR(DEVFSD_IOCTL_BASE, 0, int) | |
| #define DEVFSDIOC_SET_EVENT_MASK _IOW(DEVFSD_IOCTL_BASE, 2, int) | |
| #define DEVFSDIOC_RELEASE_EVENT_QUEUE _IOW(DEVFSD_IOCTL_BASE, 3, int) | |
| #define DEVFSDIOC_SET_DEBUG_MASK _IOW(DEVFSD_IOCTL_BASE, 4, int) | |
| #define DEVFSD_NOTIFY_REGISTERED 0 | |
| #define DEVFSD_NOTIFY_UNREGISTERED 1 | |
| #define DEVFSD_NOTIFY_ASYNC_OPEN 2 | |
| #define DEVFSD_NOTIFY_CLOSE 3 | |
| #define DEVFSD_NOTIFY_LOOKUP 4 | |
| #define DEVFSD_NOTIFY_CHANGE 5 | |
| #define DEVFSD_NOTIFY_CREATE 6 | |
| #define DEVFSD_NOTIFY_DELETE 7 | |
| #define DEVFS_PATHLEN 1024 /* Never change this otherwise the | |
| binary interface will change */ | |
| struct devfsd_notify_struct { /* Use native C types to ensure same types in kernel and user space */ | |
| unsigned int type; /* DEVFSD_NOTIFY_* value */ | |
| unsigned int mode; /* Mode of the inode or device entry */ | |
| unsigned int major; /* Major number of device entry */ | |
| unsigned int minor; /* Minor number of device entry */ | |
| unsigned int uid; /* Uid of process, inode or device entry */ | |
| unsigned int gid; /* Gid of process, inode or device entry */ | |
| unsigned int overrun_count; /* Number of lost events */ | |
| unsigned int namelen; /* Number of characters not including '\0' */ | |
| /* The device name MUST come last */ | |
| char devname[DEVFS_PATHLEN]; /* This will be '\0' terminated */ | |
| }; | |
| #endif /* _LINUX_DEVFS_FS_H */ |