7 typedef struct ll_ringbuffer ll_ringbuffer_t
;
8 typedef struct ll_ringbuffer_data
{
11 } ll_ringbuffer_data_t
;
13 ll_ringbuffer_t
*ll_ringbuffer_create(size_t sz
, size_t elem_sz
);
14 void ll_ringbuffer_free(ll_ringbuffer_t
*rb
);
15 void ll_ringbuffer_reset(ll_ringbuffer_t
*rb
);
17 void ll_ringbuffer_get_read_vector(const ll_ringbuffer_t
*rb
, ll_ringbuffer_data_t
*vec
);
18 void ll_ringbuffer_get_write_vector(const ll_ringbuffer_t
*rb
, ll_ringbuffer_data_t
*vec
);
20 size_t ll_ringbuffer_read(ll_ringbuffer_t
*rb
, char *dest
, size_t cnt
);
21 size_t ll_ringbuffer_peek(ll_ringbuffer_t
*rb
, char *dest
, size_t cnt
);
22 void ll_ringbuffer_read_advance(ll_ringbuffer_t
*rb
, size_t cnt
);
23 size_t ll_ringbuffer_read_space(const ll_ringbuffer_t
*rb
);
25 size_t ll_ringbuffer_write(ll_ringbuffer_t
*rb
, const char *src
, size_t cnt
);
26 void ll_ringbuffer_write_advance(ll_ringbuffer_t
*rb
, size_t cnt
);
27 size_t ll_ringbuffer_write_space(const ll_ringbuffer_t
*rb
);
29 #endif /* RINGBUFFER_H */