diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2022-03-16 11:18:40 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2022-03-16 15:11:05 +0100 |
| commit | 46cc3b2193a3be0e0043d9cb98af1121aeebf09d (patch) | |
| tree | adb896e692d32bd340d27494e51cfa05718100de /sys/linux/watch_queue.txt | |
| parent | 3f1e91ed11e657c596a375b100695a8b4e0d6e37 (diff) | |
sys/linux: update watch queue descriptions
The interface has significantly changed since the first version.
Update to the upstreammed interface.
Fixes #3030
Diffstat (limited to 'sys/linux/watch_queue.txt')
| -rw-r--r-- | sys/linux/watch_queue.txt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/sys/linux/watch_queue.txt b/sys/linux/watch_queue.txt new file mode 100644 index 000000000..f10bafbf4 --- /dev/null +++ b/sys/linux/watch_queue.txt @@ -0,0 +1,33 @@ +# Copyright 2019 syzkaller project authors. All rights reserved. +# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +include <linux/fcntl.h> +include <linux/ioctl.h> +include <uapi/linux/watch_queue.h> + +resource fd_watch_queue[fd] + +pipe2$watch_queue(pipefd ptr[out, pipefd$watch_queue], flags const[O_NOTIFICATION_PIPE]) +read$watch_queue(fd fd_watch_queue, buf buffer[out], count len[buf]) +ioctl$IOC_WATCH_QUEUE_SET_SIZE(fd fd_watch_queue, cmd const[IOC_WATCH_QUEUE_SET_SIZE], arg flags[watch_queue_size]) +ioctl$IOC_WATCH_QUEUE_SET_FILTER(fd fd_watch_queue, cmd const[IOC_WATCH_QUEUE_SET_FILTER], arg ptr[in, watch_notification_filter]) + +pipefd$watch_queue { + rfd fd_watch_queue + wfd fd +} + +watch_notification_filter { + nr_filters len[filters, int32] + __reserved const[0, int32] + filters array[watch_notification_type_filter] +} + +watch_notification_type_filter { + type int32 + info_filter int32 + info_mask int32 + subtype_filter array[int32, 8] +} + +watch_queue_size = 1, 2, 4, 8, 16 |
