io_uring_peek_batch_cqe(3) — Linux manual page

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

io_uring_peek_cqe(3)         liburing Manual         io_uring_peek_cqe(3)

NAME         top

       io_uring_peek_cqe - check if an io_uring completion event is
       available

SYNOPSIS         top

       #include <liburing.h>

       int io_uring_peek_cqe(struct io_uring *ring,
                             struct io_uring_cqe **cqe_ptr);

       int io_uring_peek_batch_cqe(struct io_uring *ring,
                                   struct io_uring_cqe **cqe_ptrs,
                                   unsigned count);

DESCRIPTION         top

       The io_uring_peek_cqe(3) function returns an IO completion from
       the queue belonging to the ring param, if one is readily
       available. On successful return, cqe_ptr param is filled with a
       valid CQE entry.

       This function does not enter the kernel to wait for an event, an
       event is only returned if it's already available in the CQ ring.

       The io_uring_peek_batch_cqe(3) function returns up to count
       request completions in cqe_ptrs belonging to the ring param, if
       they are readily available. It will not enter the kernel, unless
       the CQ ring is in an overflow condition. Upon successful return,
       cqe_ptrs are filled with the number of events indicated by the
       return value.

RETURN VALUE         top

       On success io_uring_peek_cqe(3) returns 0 and the cqe_ptr
       parameter is filled in. On success io_uring_peek_batch_cqe(3)
       returns the number of completions filled in. On failure, they may
       return -EAGAIN.

SEE ALSO         top

       io_uring_submit(3), io_uring_wait_cqes(3), io_uring_wait_cqe(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 2025-02-02.  (At that time,
       the date of the most recent commit that was found in the
       repository was 2025-01-22.)  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.2                  March 12, 2022         io_uring_peek_cqe(3)

Pages that refer to this page: io_uring_peek_batch_cqe(3)io_uring_peek_cqe(3)