io_uring_cqe_nr(3) liburing Manual io_uring_cqe_nr(3)

io_uring_cqe_nr - return the number of CQ ring slots consumed by a CQE

#include <liburing.h>
unsigned io_uring_cqe_nr(const struct io_uring_cqe *cqe);

The io_uring_cqe_nr(3) function returns the number of CQ ring slots consumed by cqe. For normal 16-byte CQEs, this returns 1. For 32-byte CQEs (when IORING_CQE_F_32 is set in the CQE flags), this returns 2.

This function is useful when advancing the CQ ring with io_uring_cq_advance(3) on rings that use IORING_SETUP_CQE_MIXED where both 16-byte and 32-byte CQEs may be present.

Returns 1 for normal CQEs, or 2 for 32-byte CQEs.

io_uring_cq_advance(3), io_uring_cqe_seen(3), io_uring_setup(2)

January 18, 2025 liburing-2.12