io_uring_free_buf_ring(3) liburing Manual io_uring_free_buf_ring(3)

io_uring_free_buf_ring - register and free a buffer ring for provided buffers

#include <liburing.h>
int io_uring_free_buf_ring(struct io_uring *ring,
                           struct io_uring_buf_ring *br,
                           unsigned int nentries,
                           int bgid);

The io_uring_free_buf_ring(3) function unregisters a previously registered shared buffer ring. The ring must have heen previously returned from io_uring_setup_buf_ring(3).

The ring argument must pointer to the ring for which the provided buffer ring is being registered, br must point to a buffer ring previously returned by io_uring_setup_buf_ring(3), nentries is the number of entries requested in the buffer ring, and bgid is the buffer group ID that br was setup with.

Under the covers, this function uses io_uring_unregister_buf_ring(3) to unregister the ring, and handles the freeing of the ring rather than letting the application open code it.

Available since 5.19.

On success io_uring_free_buf_ring(3) returns a pointer to the buffe ring. On failure it returns -errno.

io_uring_setup_buf_ring(3)

March 7, 2023 liburing-2.4