---
name: "io_uring_buf_ring_init"
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_buf_ring_init"
---

# io\_uring\_buf\_ring\_init(3)

Initialise a buffer ring

## NAME

io\_uring\_buf\_ring\_init - Initialise a  buffer ring

## SYNOPSIS

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

**void io\_uring\_buf\_ring\_init(struct io\_uring\_buf\_ring \****br***);**

## DESCRIPTION

[**io\_uring\_buf\_ring\_init**(3)](/io_uring_buf_ring_init/3.md) initialises *br* so that it is ready to be used. It may be called after [**io\_uring\_register\_buf\_ring**(3)](/io_uring_register_buf_ring/3.md) but must be called before the buffer ring is used in any other way.

## RETURN VALUE

None

## NOTES

Unless manual setup is needed, it's recommended to use [**io\_uring\_setup\_buf\_ring**(3)](/io_uring_setup_buf_ring/3.md) as it provides a simpler way to setup a provided buffer ring.

## SEE ALSO

[**io\_uring\_register\_buf\_ring**(3)](/io_uring_register_buf_ring/3.md), [**io\_uring\_setup\_buf\_ring**(3)](/io_uring_setup_buf_ring/3.md), [**io\_uring\_buf\_ring\_add**(3)](/io_uring_buf_ring_add/3.md) [**io\_uring\_buf\_ring\_advance**(3)](/io_uring_buf_ring_advance/3.md), [**io\_uring\_buf\_ring\_cq\_advance**(3)](/io_uring_buf_ring_cq_advance/3.md)
