You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.5 KiB

.\" Copyright (C) 2022 Jens Axboe <axboe@kernel.dk>
.\"
.\" SPDX-License-Identifier: LGPL-2.0-or-later
.\"
.TH io_uring_buf_ring_add 3 "May 18, 2022" "liburing-2.2" "liburing Manual"
.SH NAME
io_uring_buf_ring_add \- add buffers to a shared buffer ring
.SH SYNOPSIS
.nf
.B #include <liburing.h>
.PP
.BI "int io_uring_buf_ring_add(struct io_uring_buf_ring *" br ",
.BI " void *" addr ",
.BI " unsigned int " len ",
.BI " unsigned short " bid ",
.BI " int " mask ",
.BI " int " buf_offset ");"
.fi
.SH DESCRIPTION
.PP
The
.BR io_uring_buf_ring_add (3)
adds a new buffer to the shared buffer ring
.IR br .
The buffer address is indicated by
.I addr
and is of
.I len
bytes of length.
.I bid
is the buffer ID, which will be returned in the CQE.
.I mask
is the size mask of the ring, available from
.BR io_uring_buf_ring_mask (3) .
.I buf_offset
is the offset to insert at from the current tail. If just one buffer is provided
before the ring tail is committed with
.BR io_uring_buf_ring_advance (3)
or
.BR io_uring_buf_ring_cq_advance (3),
then
.I buf_offset
should be 0. If buffers are provided in a loop before being committed, the
.I buf_offset
must be incremented by one for each buffer added.
.SH RETURN VALUE
None
.SH SEE ALSO
.BR io_uring_register_buf_ring (3),
.BR io_uring_buf_ring_mask (3),
.BR io_uring_buf_ring_advance (3),
.BR io_uring_buf_ring_cq_advance (3)