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