Provided by: liburing-dev_2.3-3_amd64 bug


       io_uring_register_sync_cancel - issue a synchronous cancelation request


       #include <liburing.h>

       int io_uring_register_sync_cancel(struct io_uring *ring,
                                         struct io_uring_sync_cancel_reg *reg);


       The  io_uring_register_sync_cancel(3)  function performs a synchronous cancelation request
       based on the parameters specified in reg .

       The reg argument must be filled in with the appropriate information  for  the  cancelation
       request. It looks as follows:

           struct io_uring_sync_cancel_reg {
               __u64 addr;
               __s32 fd;
               __u32 flags;
               struct __kernel_timespec timeout;
               __u64 pad[4];

       The   arguments   largely   mirror   what   the   async   prep   functions   support,  see
       io_uring_prep_cancel(3) for  details.  Similarly,  the  return  value  is  the  same.  The
       exception  is  the  timeout  argument, which can be used to limit the time that the kernel
       will wait for cancelations to be successful. If the tv_sec and tv_nsec values are  set  to
       anything  but  -1UL , then they indicate a relative timeout upon which cancelations should
       be completed by.

       The pad values must be zero filled.


       See io_uring_prep_cancel(3) for details on the return value. If timeout is set to indicate
       a  timeout,  then  -ETIME  will be returned if exceeded. If an unknown value is set in the
       request, or if the pad values are not cleared to zero, then -EINVAL is returned.