Provided by: liburing-dev_2.5-1build1_amd64 bug

NAME

       io_uring_prep_poll_add - prepare a poll request

SYNOPSIS

       #include <poll.h>
       #include <liburing.h>

       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 submission 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 persist 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
       completions 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 happens, the application should not expect further CQEs
       from the original request 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 bitmask 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)