1io_uring_buf_ring_add(3) liburing Manual io_uring_buf_ring_add(3)
2
3
4
6 io_uring_buf_ring_add - add buffers to a shared buffer ring
7
9 #include <liburing.h>
10
11 void io_uring_buf_ring_add(struct io_uring_buf_ring *br,
12 void *addr,
13 unsigned int len,
14 unsigned short bid,
15 int mask,
16 int buf_offset);
17
19 The io_uring_buf_ring_add(3) adds a new buffer to the shared buffer
20 ring br. The buffer address is indicated by addr and is of len bytes
21 of length. bid is the buffer ID, which will be returned in the CQE.
22 mask is the size mask of the ring, available from io_ur‐
23 ing_buf_ring_mask(3). buf_offset is the offset to insert at from the
24 current tail. If just one buffer is provided before the ring tail is
25 committed with io_uring_buf_ring_advance(3) or io_uring_buf_ring_cq_ad‐
26 vance(3), then buf_offset should be 0. If buffers are provided in a
27 loop before being committed, the buf_offset must be incremented by one
28 for each buffer added.
29
30
32 None
33
35 io_uring_register_buf_ring(3), io_uring_buf_ring_mask(3), io_ur‐
36 ing_buf_ring_advance(3), io_uring_buf_ring_cq_advance(3)
37
38
39
40liburing-2.2 May 18, 2022 io_uring_buf_ring_add(3)