|
@@ -857,6 +857,8 @@ struct file_operations {
|
|
|
ssize_t (*write_iter) (struct kiocb *, struct iov_iter *);
|
|
|
int (*iterate) (struct file *, struct dir_context *);
|
|
|
__poll_t (*poll) (struct file *, struct poll_table_struct *);
|
|
|
+ struct wait_queue_head * (*get_poll_head)(struct file *, __poll_t);
|
|
|
+ __poll_t (*poll_mask) (struct file *, __poll_t);
|
|
|
long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
|
|
|
long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
|
|
|
int (*mmap) (struct file *, struct vm_area_struct *);
|
|
@@ -901,6 +903,17 @@ otherwise noted.
|
|
|
activity on this file and (optionally) go to sleep until there
|
|
|
is activity. Called by the select(2) and poll(2) system calls
|
|
|
|
|
|
+ get_poll_head: Returns the struct wait_queue_head that callers can
|
|
|
+ wait on. Callers need to check the returned events using ->poll_mask
|
|
|
+ once woken. Can return NULL to indicate polling is not supported,
|
|
|
+ or any error code using the ERR_PTR convention to indicate that a
|
|
|
+ grave error occured and ->poll_mask shall not be called.
|
|
|
+
|
|
|
+ poll_mask: return the mask of EPOLL* values describing the file descriptor
|
|
|
+ state. Called either before going to sleep on the waitqueue returned by
|
|
|
+ get_poll_head, or after it has been woken. If ->get_poll_head and
|
|
|
+ ->poll_mask are implemented ->poll does not need to be implement.
|
|
|
+
|
|
|
unlocked_ioctl: called by the ioctl(2) system call.
|
|
|
|
|
|
compat_ioctl: called by the ioctl(2) system call when 32 bit system calls
|