io\_uring\_get\_sqe128(3) liburing Manual io\_uring\_get\_sqe128(3)

# [NAME](#NAME)

io\_uring\_get\_sqe128 - get the next available 128-byte submission queue entry from the submission queue

# [SYNOPSIS](#SYNOPSIS)

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

```
struct io_uring_sqe *io_uring_get_sqe128(struct io_uring *ring);
```

# [DESCRIPTION](#DESCRIPTION)

The [**io\_uring\_get\_sqe128**(3)](/man/os/liburing/io_uring_get_sqe128.3) function gets the next available 128-byte submission queue entry from the submission queue belonging to the *ring* param.

On success [**io\_uring\_get\_sqe128**(3)](/man/os/liburing/io_uring_get_sqe128.3) returns a pointer to the submission queue entry. On failure **NULL** is returned.

If a submission queue entry is returned, it should be filled out via one of the prep functions such as [**io\_uring\_prep\_uring\_cmd128**(3)](/man/os/liburing/io_uring_prep_uring_cmd128.3) and submitted via [**io\_uring\_submit**(3)](/man/os/liburing/io_uring_submit.3).

Note that neither [**io\_uring\_get\_sqe128**(3)](/man/os/liburing/io_uring_get_sqe128.3) nor the prep functions set (or clear) the **user\_data** field of the SQE. If the caller expects [**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) to return valid data when reaping IO completions, either [**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) **MUST** have been called before submitting the request.

# [RETURN VALUE](#RETURN_VALUE)

[**io\_uring\_get\_sqe128**(3)](/man/os/liburing/io_uring_get_sqe128.3) returns a pointer to the next submission queue event on success and NULL on failure. If **NULL** is returned, the SQ ring either wasn't created with support for 128-byte SQE entries ( **IORING\_SETUP\_SQE128** or **IORING\_SETUP\_SQE\_MIXED** ) or is currently full and entries must be submitted for processing before new ones can get allocated.

# [SEE ALSO](#SEE_ALSO)

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

October 22, 2025 liburing-2.13

---

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