• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
Copyright (C) 2022 Jens Axboe <axboe@kernel.dk>

SPDX-License-Identifier: LGPL-2.0-or-later

io_uring_peek_cqe 3 "March 12, 2022" "liburing-2.2" "liburing Manual"
NAME
io_uring_peek_cqe - check if an io_uring completion event is available
SYNOPSIS
 #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

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
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
io_uring_submit (3), io_uring_wait_cqes (3), io_uring_wait_cqe (3)