.. | .. |
---|
56 | 56 | struct kobject; |
---|
57 | 57 | struct pipe_inode_info; |
---|
58 | 58 | struct poll_table_struct; |
---|
| 59 | +struct oob_poll_wait; |
---|
59 | 60 | struct kstatfs; |
---|
60 | 61 | struct vm_area_struct; |
---|
61 | 62 | struct vfsmount; |
---|
.. | .. |
---|
963 | 964 | #endif |
---|
964 | 965 | /* needed for tty driver, and maybe others */ |
---|
965 | 966 | void *private_data; |
---|
| 967 | + void *oob_data; |
---|
966 | 968 | |
---|
967 | 969 | #ifdef CONFIG_EPOLL |
---|
968 | 970 | /* Used by fs/eventpoll.c to link all the hooks to this file */ |
---|
.. | .. |
---|
1800 | 1802 | #ifdef CONFIG_COMPAT |
---|
1801 | 1803 | extern long compat_ptr_ioctl(struct file *file, unsigned int cmd, |
---|
1802 | 1804 | unsigned long arg); |
---|
| 1805 | +extern long compat_ptr_oob_ioctl(struct file *file, unsigned int cmd, |
---|
| 1806 | + unsigned long arg); |
---|
1803 | 1807 | #else |
---|
1804 | 1808 | #define compat_ptr_ioctl NULL |
---|
| 1809 | +#define compat_ptr_oob_ioctl NULL |
---|
1805 | 1810 | #endif |
---|
1806 | 1811 | |
---|
1807 | 1812 | /* |
---|
.. | .. |
---|
1888 | 1893 | __poll_t (*poll) (struct file *, struct poll_table_struct *); |
---|
1889 | 1894 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); |
---|
1890 | 1895 | long (*compat_ioctl) (struct file *, unsigned int, unsigned long); |
---|
| 1896 | + ssize_t (*oob_read) (struct file *, char __user *, size_t); |
---|
| 1897 | + ssize_t (*oob_write) (struct file *, const char __user *, size_t); |
---|
| 1898 | + long (*oob_ioctl) (struct file *, unsigned int, unsigned long); |
---|
| 1899 | + long (*compat_oob_ioctl) (struct file *, unsigned int, unsigned long); |
---|
| 1900 | + __poll_t (*oob_poll) (struct file *, struct oob_poll_wait *); |
---|
1891 | 1901 | int (*mmap) (struct file *, struct vm_area_struct *); |
---|
1892 | 1902 | unsigned long mmap_supported_flags; |
---|
1893 | 1903 | int (*open) (struct inode *, struct file *); |
---|