]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 */ |