.\" Copyright (c) 2022 by Cyril Hrubis .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .TH ioctl_pipe 2 2023-10-31 "Linux man-pages 6.7" .SH NAME ioctl_pipe \- ioctl() operations for General notification mechanism .SH SYNOPSIS .nf .BR "#include " " /* Definition of " IOC_WATCH_QUEUE_ "* */" .B #include .P .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)