io_uring_prep_send_zc_fixed(3) — Linux manual page


io_uring_prep_send_zc(3)     liburing Manual    io_uring_prep_send_zc(3)

NAME         top

       io_uring_prep_send_zc - prepare a zerocopy send request

SYNOPSIS         top

       #include <liburing.h>

       void io_uring_prep_send_zc(struct io_uring_sqe *sqe,
                                  int sockfd,
                                  const void *buf,
                                  size_t len,
                                  int flags,
                                  unsigned zc_flags);

       void io_uring_prep_send_zc_fixed(struct io_uring_sqe *sqe,
                                        int sockfd,
                                        const void *buf,
                                        size_t len,
                                        int flags,
                                        unsigned zc_flags);
                                        unsigned buf_index);

DESCRIPTION         top

       The io_uring_prep_send_zc(3) function prepares a zerocopy send
       request. The submission queue entry sqe is setup to use the file
       descriptor sockfd to start sending the data from buf of size len
       bytes with send modifier flags flags and zerocopy modifier flags

       The io_uring_prep_send_zc_fixed(3) works just like
       io_uring_prep_send_zc(3) except it requires the use of buffers
       that have been registered with io_uring_register_buffers(3).  The
       buf and len arguments must fall within a region specified by
       buf_index in the previously registered buffer. The buffer need
       not be aligned with the start of the registered buffer.

       Note that using IOSQE_IO_LINK with this request type requires the
       setting of MSG_WAITALL in the flags argument, as a short send
       isn't considered an error condition without that being set.

       These functions prepare an async zerocopy send(2) request. See
       that man page for details. For details on the zerocopy nature of
       it, see io_uring_enter(2).

RETURN VALUE         top


ERRORS         top

       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

SEE ALSO         top

       io_uring_get_sqe(3), io_uring_submit(3), io_uring_prep_send(3),
       io_uring_enter(2), send(2)

COLOPHON         top

       This page is part of the liburing (A library for io_uring)
       project.  Information about the project can be found at 
       ⟨⟩.  If you have a bug report for
       this manual page, send it to  This page
       was obtained from the project's upstream Git repository
       ⟨⟩ on 2023-12-22.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2023-12-19.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

liburing-2.3                September 6, 2022   io_uring_prep_send_zc(3)

Pages that refer to this page: io_uring_prep_send_zc(3)io_uring_prep_send_zc_fixed(3)