.\" Copyright (C) 2022 Jens Axboe .\" .\" SPDX-License-Identifier: LGPL-2.0-or-later .\" .TH io_uring_free_buf_ring 3 "Mar 07, 2023" "liburing-2.4" "liburing Manual" .SH NAME io_uring_free_buf_ring \- register and free a buffer ring for provided buffers .SH SYNOPSIS .nf .B #include .PP .BI "int io_uring_free_buf_ring(struct io_uring *" ring ", .BI " struct io_uring_buf_ring *" br ", .BI " unsigned int " nentries ", .BI " int " bgid ");" .BI " .fi .SH DESCRIPTION .PP The .BR io_uring_free_buf_ring (3) function unregisters a previously registered shared buffer ring. The ring must have heen previously returned from .BR io_uring_setup_buf_ring (3) . The .I ring argument must pointer to the ring for which the provided buffer ring is being registered, .I br must point to a buffer ring previously returned by .BR io_uring_setup_buf_ring (3) , .I nentries is the number of entries requested in the buffer ring, and .I bgid is the buffer group ID that .I br was setup with. Under the covers, this function uses .BR 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. .SH RETURN VALUE On success .BR io_uring_register_free_ring (3) returns a pointer to the buffe ring. On failure it returns .BR -errno . .SH SEE ALSO .BR io_uring_setup_buf_ring (3)