NAME¶
vrb_get_min - get minimum data from a VRB
LIBRARY¶
-lvrb
SYNOPSIS¶
#include <vrb.h>
size_t vrb_get_min(vrb_p vrb, char
*target, size_t minsize, size_t
maxsize);
DESCRIPTION¶
vrb_get_min Get data from a virtual ring buffer and copy it to the space
provider by the caller only if the minimum specified amount can be copied. If
less data than the minimum is available, then no data is copied.
ARGUMENTS¶
vrb_p vrb
specifies which virtual ring buffer.
char *target
specifies the location where to copy the data to.
size_t minsize
specifies the minimum length of data that must be available to be copied.
size_t maxsize
specifies the maximum length of data that can be obtained from the virtual ring
buffer.
RETURN VALUE¶
size_t
The actual length of data copied is returned, which can be any value from the
minimum size to the maximum size, or 0.
ERRORS¶
If an error is returned, then
errno will have the following value:
- EINVAL
- An invalid virtual ring buffer pointer was specified, or
the minimum request exceeds the buffer capacity and thus can never be
satisfied.
SEE ALSO¶
vrb(3),
vrb_capacity(3),
vrb_data_len(3),
vrb_data_ptr(3),
vrb_destroy(3),
vrb_get(3),
vrb_give(3),
vrb_init(3),
vrb_init_opt(3),
vrb_is_empty(3),
vrb_is_full(3),
vrb_is_not_empty(3),
vrb_is_not_full(3),
vrb_move(3),
vrb_new(3),
vrb_new_opt(3),
vrb_put(3),
vrb_put_all(3),
vrb_read(3),
vrb_read_min(3),
vrb_resize(3),
vrb_space_len(3),
vrb_space_ptr(3),
vrb_take(3),
vrb_uninit(3),
vrb_write(3),
vrb_write_min(3)