io\_uring\_wait\_cqe(3) liburing Manual io\_uring\_wait\_cqe(3)

# [NAME](#NAME)

io\_uring\_wait\_cqe - wait for one io\_uring completion event

# [SYNOPSIS](#SYNOPSIS)

```
#include <liburing.h>
```

```
int io_uring_wait_cqe(struct io_uring *ring,
                      struct io_uring_cqe **cqe_ptr);
```

# [DESCRIPTION](#DESCRIPTION)

The [**io\_uring\_wait\_cqe**(3)](/man/os/liburing/io_uring_wait_cqe.3) function waits for an IO completion from the queue belonging to the *ring* param, waiting for it if necessary. If an event is already available in the ring when invoked, no waiting will occur. The *cqe\_ptr* param is filled in on success.

After the caller has submitted a request with [**io\_uring\_submit**(3)](/man/os/liburing/io_uring_submit.3), the application can retrieve the completion with [**io\_uring\_wait\_cqe**(3)](/man/os/liburing/io_uring_wait_cqe.3).

# [RETURN VALUE](#RETURN_VALUE)

On success [**io\_uring\_wait\_cqe**(3)](/man/os/liburing/io_uring_wait_cqe.3) returns 0 and the cqe\_ptr param is filled in. On failure it returns **-errno**. The return value indicates the result of waiting for a CQE, and it has no relation to the CQE result itself.

# [SEE ALSO](#SEE_ALSO)

[**io\_uring\_submit**(3)](/man/os/liburing/io_uring_submit.3), [**io\_uring\_wait\_cqe\_timeout**(3)](/man/os/liburing/io_uring_wait_cqe_timeout.3), [**io\_uring\_wait\_cqes**(3)](/man/os/liburing/io_uring_wait_cqes.3)

November 15, 2021 liburing-2.1

---

Document: io_uring_wait_cqe(3) from liburing 2.15-r5 (Chainguard OS)
Source: https://github.com/axboe/liburing.git
