Signed-off-by: Cyril Hrubis <chrubis@xxxxxxx> --- man2/ioctl_pipe.2 | 56 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 man2/ioctl_pipe.2 diff --git a/man2/ioctl_pipe.2 b/man2/ioctl_pipe.2 new file mode 100644 index 000000000..afdf05236 --- /dev/null +++ b/man2/ioctl_pipe.2 @@ -0,0 +1,56 @@ +.\" Copyright (c) 2022 by Cyril Hrubis <chrubi@xxxxxxx> +.\" +.\" SPDX-License-Identifier: Linux-man-pages-copyleft +.\" +.TH IOCTL_PIPE 2 2022-08-06 "Linux" "Linux Programmer's Manual" +.SH NAME +ioctl_pipe \- ioctl() operations for General notification mechanism +.SH SYNOPSIS +.nf +.B #include <linux/watch_queue.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, \ +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 build 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 size notification +messages. Currently the 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 +.I struct watch_notification_type_filter +structure. +.PP +.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 +.PP +.SH SEE ALSO +.BR pipe (2), +.BR ioctl (2) -- 2.39.2 -- Cyril Hrubis chrubis@xxxxxxx