---
name: "io_uring_cqe_get_data64"
section: "3"
platform: "linux"
package: "liburing"
version: "2.15-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/io_uring_cqe_get_data64"
---

# io\_uring\_cqe\_get\_data64(3)

get user data for completion event

## NAME

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

## 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

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

The [**io\_uring\_cqe\_get\_data64**(3)](/io_uring_cqe_get_data64/3.md) 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)](/io_uring_wait_cqe/3.md), the application can call [**io\_uring\_cqe\_get\_data**(3)](/io_uring_cqe_get_data/3.md) or [**io\_uring\_cqe\_get\_data64**(3)](/io_uring_cqe_get_data64/3.md) 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)](/io_uring_sqe_set_data/3.md) or [**io\_uring\_sqe\_set\_data64**(3)](/io_uring_sqe_set_data64/3.md).

## 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

[**io\_uring\_get\_sqe**(3)](/io_uring_get_sqe/3.md), [**io\_uring\_sqe\_set\_data**(3)](/io_uring_sqe_set_data/3.md), **io\_uring\_sqe\_submit**(3)
