io_uring_get_sqe(3) — Linux manual page

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

io_uring_get_sqe(3)          liburing Manual         io_uring_get_sqe(3)

NAME         top

       io_uring_get_sqe - get the next available submission queue entry
       from the submission queue

SYNOPSIS         top

       #include <liburing.h>

       struct io_uring_sqe *io_uring_get_sqe(struct io_uring *ring);

DESCRIPTION         top

       The io_uring_get_sqe(3) function gets the next available
       submission queue entry from the submission queue belonging to the
       ring param.

       On success io_uring_get_sqe(3) returns a pointer to the
       submission queue entry. On failure NULL is returned.

       If a submission queue entry is returned, it should be filled out
       via one of the prep functions such as io_uring_prep_read(3) and
       submitted via io_uring_submit(3).

       Note that neither io_uring_get_sqe nor the prep functions set (or
       clear) the user_data field of the SQE. If the caller expects
       io_uring_cqe_get_data(3) or io_uring_cqe_get_data64(3) to return
       valid data when reaping IO completions, either
       io_uring_sqe_set_data(3) or io_uring_sqe_set_data64(3) MUST have
       been called before submitting the request.

RETURN VALUE         top

       io_uring_get_sqe(3) returns a pointer to the next submission
       queue event on success and NULL on failure. If NULL is returned,
       the SQ ring is currently full and entries must be submitted for
       processing before new ones can get allocated.

SEE ALSO         top

       io_uring_submit(3), io_uring_sqe_set_data(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 2024-06-14.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2024-06-03.)  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-0.7                  July 10, 2020          io_uring_get_sqe(3)

Pages that refer to this page: io_uring_cqe_get_data(3)io_uring_cqe_get_data64(3)io_uring_get_events(3)io_uring_get_sqe(3)io_uring_prep_accept(3)io_uring_prep_accept_direct(3)io_uring_prep_cancel(3)io_uring_prep_cancel64(3)io_uring_prep_cancel_fd(3)io_uring_prep_close(3)io_uring_prep_close_direct(3)io_uring_prep_cmd(3)io_uring_prep_connect(3)io_uring_prep_fadvise(3)io_uring_prep_fallocate(3)io_uring_prep_fgetxattr(3)io_uring_prep_files_update(3)io_uring_prep_fixed_fd_install(3)io_uring_prep_fsetxattr(3)io_uring_prep_fsync(3)io_uring_prep_ftruncate(3)io_uring_prep_futex_wait(3)io_uring_prep_futex_waitv(3)io_uring_prep_futex_wake(3)io_uring_prep_getxattr(3)io_uring_prep_link(3)io_uring_prep_linkat(3)io_uring_prep_link_timeout(3)io_uring_prep_madvise(3)io_uring_prep_mkdir(3)io_uring_prep_mkdirat(3)io_uring_prep_multishot_accept(3)io_uring_prep_multishot_accept_direct(3)io_uring_prep_nop(3)io_uring_prep_openat2(3)io_uring_prep_openat2_direct(3)io_uring_prep_openat(3)io_uring_prep_openat_direct(3)io_uring_prep_poll_add(3)io_uring_prep_poll_multishot(3)io_uring_prep_poll_remove(3)io_uring_prep_poll_update(3)io_uring_prep_provide_buffers(3)io_uring_prep_read(3)io_uring_prep_read_multishot(3)io_uring_prep_readv2(3)io_uring_prep_readv(3)io_uring_prep_recv(3)io_uring_prep_recvmsg(3)io_uring_prep_recvmsg_multishot(3)io_uring_prep_recv_multishot(3)io_uring_prep_remove_buffers(3)io_uring_prep_rename(3)io_uring_prep_renameat(3)io_uring_prep_send(3)io_uring_prep_send_bundle(3)io_uring_prep_sendmsg(3)io_uring_prep_sendmsg_zc(3)io_uring_prep_send_set_addr(3)io_uring_prep_sendto(3)io_uring_prep_send_zc(3)io_uring_prep_send_zc_fixed(3)io_uring_prep_setxattr(3)io_uring_prep_shutdown(3)io_uring_prep_socket(3)io_uring_prep_socket_direct(3)io_uring_prep_socket_direct_alloc(3)io_uring_prep_splice(3)io_uring_prep_statx(3)io_uring_prep_symlink(3)io_uring_prep_symlinkat(3)io_uring_prep_sync_file_range(3)io_uring_prep_tee(3)io_uring_prep_timeout(3)io_uring_prep_timeout_remove(3)io_uring_prep_timeout_update(3)io_uring_prep_unlink(3)io_uring_prep_unlinkat(3)io_uring_prep_waitid(3)io_uring_prep_write(3)io_uring_prep_writev2(3)io_uring_prep_writev(3)io_uring_register_buffers(3)io_uring_register_buffers_sparse(3)io_uring_register_buffers_tags(3)io_uring_register_buffers_update_tag(3)io_uring_register_files(3)io_uring_register_files_sparse(3)io_uring_register_files_tags(3)io_uring_register_files_update(3)io_uring_register_files_update_tag(3)io_uring_sqe_set_data(3)io_uring_sqe_set_data64(3)io_uring_submit(3)io_uring_submit_and_wait(3)io_uring_submit_and_wait_timeout(3)