io_uring_prep_poll_add(3) liburing Manual io_uring_prep_poll_add(3) NAME io_uring_prep_poll_add - prepare a poll request SYNOPSIS #include #include void io_uring_prep_poll_add(struct io_uring_sqe *sqe, int fd, unsigned poll_mask); void io_uring_prep_poll_multishot(struct io_uring_sqe *sqe, int fd, unsigned poll_mask); DESCRIPTION The io_uring_prep_poll_add(3) function prepares a poll request. The submis- sion queue entry sqe is setup to use the file descriptor fd that should get polled, with the events desired specified in the poll_mask argument. The default behavior is a single-shot poll request. When the specified event has triggered, a completion CQE is posted and no more events will be generated by the poll request. io_uring_prep_poll_multishot(3) behaves identically in terms of events, but it persists across notifications and will repeatedly post notifications for the same registration. A CQE posted from a multishot poll request will have IORING_CQE_F_MORE set in the CQE flags member, indicating that the application should expect more comple- tions from this request. If the multishot poll request gets terminated or experiences an error, this flag will not be set in the CQE. If this hap- pens, the application should not expect further CQEs from the original re- quest and must reissue a new one if it still wishes to get notifications on this file descriptor. RETURN VALUE None ERRORS The CQE res field will contain the result of the operation, which is a bit- mask of the events notified. See the poll(2) man page for details. Note that where synchronous system calls will return -1 on failure and set errno to the actual error value, io_uring never uses errno. Instead it returns the negated errno directly in the CQE res field. SEE ALSO io_uring_get_sqe(3), io_uring_submit(3), poll(2), epoll_ctl(3) liburing-2.2 March 12, 2022 io_uring_prep_poll_add(3)