io\_uring\_cqe\_get\_data(3) liburing Manual io\_uring\_cqe\_get\_data(3)

# [NAME](#NAME)

io\_uring\_cqe\_get\_data - get user data for completion event

# [SYNOPSIS](#SYNOPSIS)

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

```
void *io_uring_cqe_get_data(struct io_uring_cqe *cqe);

__u64 io_uring_cqe_get_data64(struct io_uring_cqe *cqe);
```

# [DESCRIPTION](#DESCRIPTION)

The [**io\_uring\_cqe\_get\_data**(3)](/man/os/liburing/io_uring_cqe_get_data.3) function returns the user\_data with the completion queue entry *cqe* as a data pointer.

The [**io\_uring\_cqe\_get\_data64**(3)](/man/os/liburing/io_uring_cqe_get_data64.3) function returns the user\_data with the completion queue entry *cqe* as a 64-bit data value.

After the caller has received a completion queue entry (CQE) with [**io\_uring\_wait\_cqe**(3)](/man/os/liburing/io_uring_wait_cqe.3), the application can call [**io\_uring\_cqe\_get\_data**(3)](/man/os/liburing/io_uring_cqe_get_data.3) or [**io\_uring\_cqe\_get\_data64**(3)](/man/os/liburing/io_uring_cqe_get_data64.3) function to retrieve the *user\_data* value. This requires that *user\_data* has been set earlier with the function [**io\_uring\_sqe\_set\_data**(3)](/man/os/liburing/io_uring_sqe_set_data.3) or [**io\_uring\_sqe\_set\_data64**(3)](/man/os/liburing/io_uring_sqe_set_data64.3).

# [RETURN VALUE](#RETURN_VALUE)

If the *user\_data* value has been set before submitting the request, it will be returned. Otherwise, the return value is undefined.

# [SEE ALSO](#SEE_ALSO)

[**io\_uring\_get\_sqe**(3)](/man/os/liburing/io_uring_get_sqe.3), [**io\_uring\_sqe\_set\_data**(3)](/man/os/liburing/io_uring_sqe_set_data.3), [**io\_uring\_sqe\_submit**(3)](/man/os/liburing/io_uring_sqe_submit.3)

November 15, 2021 liburing-2.1

---

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