NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |SEE ALSO |COLOPHON | |
io_uring_get_sqe(3) liburing Manualio_uring_get_sqe(3)io_uring_get_sqe - get the next available submission queue entry from the submission queue
#include <liburing.h>struct io_uring_sqe *io_uring_get_sqe(struct io_uring *ring);
Theio_uring_get_sqe(3) function gets the next available submission queue entry from the submission queue belonging to thering param. On successio_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 asio_uring_prep_read(3) and submitted viaio_uring_submit(3). Note that neitherio_uring_get_sqenor the prep functions set (or clear) theuser_datafield of the SQE. If the caller expectsio_uring_cqe_get_data(3) orio_uring_cqe_get_data64(3) to return valid data when reaping IO completions, eitherio_uring_sqe_set_data(3) orio_uring_sqe_set_data64(3)MUSThave been called before submitting the request.
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.
io_uring_submit(3),io_uring_sqe_set_data(3)
This page is part of theliburing (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 2025-08-11. (At that time, the date of the most recent commit that was found in the repository was 2025-08-02.) 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 isnot part of the original manual page), send a mail to man-pages@man7.orgliburing-0.7 July 10, 2020io_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_bind(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_cmd_discard(3), io_uring_prep_connect(3), io_uring_prep_epoll_wait(3), io_uring_prep_fadvise(3), io_uring_prep_fadvise64(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_listen(3), io_uring_prep_madvise(3), io_uring_prep_madvise64(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_open(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_open_direct(3), io_uring_prep_pipe(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_buf_group(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_min_timeout(3), io_uring_submit_and_wait_timeout(3)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |