io\_uring\_register\_wait\_reg(3) liburing Manual io\_uring\_register\_wait\_reg(3)

# [NAME](#NAME)

io\_uring\_register\_wait\_reg - register wait regions with io\_uring

# [SYNOPSIS](#SYNOPSIS)

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

```
int io_uring_register_wait_reg(struct io_uring *ring,
                               struct io_uring_reg_wait *reg,
                               int nr);
```

# [DESCRIPTION](#DESCRIPTION)

The [**io\_uring\_register\_wait\_reg**(3)](/man/os/liburing/io_uring_register_wait_reg.3) function registers wait regions with the io\_uring instance specified by *ring*. The *reg* argument is a pointer to an array of *struct io\_uring\_reg\_wait* of *nr* entries.

Wait regions allow registering timeout and signal mask information that can be reused across multiple wait operations without copying the data for each call. This is used in conjunction with [**io\_uring\_submit\_and\_wait\_reg**(3)](/man/os/liburing/io_uring_submit_and_wait_reg.3) to reduce the overhead of wait operations.

See [**io\_uring\_register\_region**(3)](/man/os/liburing/io_uring_register_region.3) for registering the underlying memory region.

# [RETURN VALUE](#RETURN_VALUE)

Returns 0 on success. On error, a negative errno value is returned.

# [SEE ALSO](#SEE_ALSO)

[**io\_uring\_submit\_and\_wait\_reg**(3)](/man/os/liburing/io_uring_submit_and_wait_reg.3), [**io\_uring\_register\_region**(3)](/man/os/liburing/io_uring_register_region.3), [**io\_uring\_register**(2)](/man/os/liburing/io_uring_register.2)

January 18, 2025 liburing-2.9

---

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