diff options
Diffstat (limited to '')
-rw-r--r-- | man2/ioctl_pipe.2 | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/man2/ioctl_pipe.2 b/man2/ioctl_pipe.2 new file mode 100644 index 0000000..31e02bb --- /dev/null +++ b/man2/ioctl_pipe.2 @@ -0,0 +1,64 @@ +.\" Copyright (c) 2022 by Cyril Hrubis <chrubi@suse.cz> +.\" +.\" SPDX-License-Identifier: Linux-man-pages-copyleft +.\" +.TH ioctl_pipe 2 2023-05-03 "Linux man-pages 6.05.01" +.SH NAME +ioctl_pipe \- ioctl() operations for General notification mechanism +.SH SYNOPSIS +.nf +.BR "#include <linux/watch_queue.h>" " /* Definition of " IOC_WATCH_QUEUE_ "* */" +.B #include <sys/ioctl.h> +.PP +.BI "int ioctl(int " pipefd "[1], IOC_WATCH_QUEUE_SET_SIZE, int " size ); +.BI "int ioctl(int " pipefd "[1], IOC_WATCH_QUEUE_SET_FILTER," +.BI " struct watch_notification_filter *" filter ); +.fi +.SH DESCRIPTION +The following +.BR ioctl (2) +operations are provided to set up general notification queue parameters. +The notification queue is built on the top of a +.BR pipe (2) +opened with the +.B O_NOTIFICATION_PIPE +flag. +.TP +.BR IOC_WATCH_QUEUE_SET_SIZE " (since Linux 5.8)" +.\" commit c73be61cede5882f9605a852414db559c0ebedfd +Preallocates the pipe buffer memory so that +it can fit +.I size +notification messages. +Currently, +.I size +must be between 1 and 512. +.TP +.BR IOC_WATCH_QUEUE_SET_FILTER " (since Linux 5.8)" +.\" commit c73be61cede5882f9605a852414db559c0ebedfd +Watch queue filter can limit events that are received. +Filters are passed in a +.I struct watch_notification_filter +and each filter is described by a +.I struct watch_notification_type_filter +structure. +.IP +.in +4n +.EX +struct watch_notification_filter { + __u32 nr_filters; + __u32 __reserved; + struct watch_notification_type_filter filters[]; +}; +\& +struct watch_notification_type_filter { + __u32 type; + __u32 info_filter; + __u32 info_mask; + __u32 subtype_filter[8]; +}; +.EE +.in +.SH SEE ALSO +.BR pipe (2), +.BR ioctl (2) |