io_uring_register_zcrx_ctrl(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | NOTES | SEE ALSO | COLOPHON

io_uring_r...r_zcrx_ctrl(3)  liburing Manual  io_uring_r...r_zcrx_ctrl(3)

NAME         top

       io_uring_register_zcrx_ctrl - perform control operations on a
       zero-copy receive context

SYNOPSIS         top

       #include <liburing.h>

       int io_uring_register_zcrx_ctrl(struct io_uring *ring,
                                       struct zcrx_ctrl *ctrl);

DESCRIPTION         top

       The io_uring_register_zcrx_ctrl(3) function performs control
       operations on a previously registered zero-copy receive context.
       See io_uring_register_ifq(3) for details on registering a zero-
       copy receive context.

       The ctrl argument must point to a struct zcrx_ctrl structure that
       describes the control operation to perform:

           struct zcrx_ctrl {
               __u32 zcrx_id;
               __u32 op;
               __u64 __resv[2];
               union {
                   struct zcrx_ctrl_export     zc_export;
                   struct zcrx_ctrl_flush_rq   zc_flush;
               };
           };

       The zcrx_id field must be set to the ID of the zero-copy receive
       context returned from io_uring_register_ifq(3).  The op field
       specifies the control operation to perform and can be one of:

       ZCRX_CTRL_FLUSH_RQ
              Flushes pending buffers from the refill queue. Uses the
              zc_flush member of the union.

       ZCRX_CTRL_EXPORT
              Exports the zero-copy receive context for use by other
              rings. Uses the zc_export member of the union. Upon
              successful export, the zcrx_fd field in zc_export will
              contain the file descriptor that can be used to share this
              context with other io_uring instances.

       The reserved __resv fields must be cleared to zero.

RETURN VALUE         top

       Returns 0 on success. On error, a negative errno value is
       returned.

NOTES         top

       This function is available since Linux kernel 6.15.

SEE ALSO         top

       io_uring_register(2), io_uring_register_ifq(3)

COLOPHON         top

       This page is part of the liburing (A library for io_uring)
       project.  Information about the project can be found at 
       ⟨https://github.com/axboe/liburing⟩.  If you have a bug report for
       this manual page, send it to io-uring@vger.kernel.org.  This page
       was obtained from the project's upstream Git repository
       ⟨https://github.com/axboe/liburing⟩ on 2026-08-04.  (At that time,
       the date of the most recent commit that was found in the
       repository was 2026-07-28.)  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
       man-pages@man7.org

liburing-2.15                 March 26, 2026  io_uring_r...r_zcrx_ctrl(3)

Pages that refer to this page: io_uring_register_zcrx_ctrl(3)