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

NAME

       io_uring_prep_sendmsg - prepare a sendmsg request

SYNOPSIS

       #include <sys/types.h>
       #include <sys/socket.h>
       #include <liburing.h>

       void io_uring_prep_sendmsg(struct io_uring_sqe *sqe,
                                  int fd,
                                  const struct msghdr *msg,
                                  unsigned flags);

DESCRIPTION

       The  io_uring_prep_sendmsg(3)  function  prepares  a sendmsg request. The submission queue
       entry sqe is setup to use the file descriptor fd to start sending the  data  indicated  by
       msg with the sendmsg(2) defined flags in the flags argument.

       This function prepares an async sendmsg(2) request. See that man page for details.

RETURN VALUE

       None

ERRORS

       The  CQE  res field will contain the result of the operation. See the related man page for
       details on possible values. 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.

NOTES

       As with any request that passes in data in a struct, that data must remain valid until the
       request has been successfully submitted. It need not remain valid until completion. Once a
       request has been submitted, the in-kernel state is stable. Very  early  kernels  (5.4  and
       earlier)  required state to be stable until the completion occurred. Applications can test
       for this behavior by  inspecting  the  IORING_FEAT_SUBMIT_STABLE  flag  passed  back  from
       io_uring_queue_init_params(3).

SEE ALSO

       io_uring_get_sqe(3), io_uring_submit(3), sendmsg(2)