io_uring_register_query(3) — Linux manual page

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

io_uring_register_query(3)   liburing Manual   io_uring_register_query(3)

NAME         top

       io_uring_register_query - query io_uring capabilities and feature
       support

SYNOPSIS         top

       #include <liburing.h>

       int io_uring_register_query(struct io_uring_query_hdr *query);

DESCRIPTION         top

       The io_uring_register_query(3) function queries io_uring
       capabilities and feature support. It provides information about
       supported opcodes, flags, and subsystem-specific capabilities.

       The query argument must point to a struct io_uring_query_hdr
       structure that describes the query to perform:

           struct io_uring_query_hdr {
               __u64 next_entry;
               __u64 query_data;
               __u32 query_op;
               __u32 size;
               __s32 result;
               __u32 __resv[3];
           };

       The next_entry field can be used to chain multiple queries
       together. It should point to the next struct io_uring_query_hdr
       structure, or be set to 0 for the last entry in the chain.

       The query_data field must point to a data structure appropriate
       for the query type specified in query_op.

       The query_op field specifies the type of query to perform and can
       be one of:

       IO_URING_QUERY_OPCODES
              Returns information about supported opcodes and flags. The
              query_data field must point to a struct
              io_uring_query_opcode structure, which will be filled with
              information about supported request opcodes, register
              opcodes, feature flags, setup flags, enter flags, and SQE
              flags.

       IO_URING_QUERY_ZCRX
              Returns information about zero-copy receive support. The
              query_data field must point to a struct io_uring_query_zcrx
              structure, which will be filled with information about
              supported zero-copy receive flags, features, and
              configuration details.

       IO_URING_QUERY_SCQ
              Returns information about the SQ/CQ ring layout. The
              query_data field must point to a struct io_uring_query_scq
              structure, which will be filled with information about ring
              header size and alignment requirements.

       The size field should be set to the size of the data structure
       pointed to by query_data.

       Upon return, the result field will contain 0 on success, or a
       negative error code on failure.

       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.

       Multiple queries can be efficiently performed in a single system
       call by chaining them together using the next_entry field.

SEE ALSO         top

       io_uring_register(2), io_uring_setup(2)

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_register_query(3)

Pages that refer to this page: io_uring_register_query(3)