NAME¶
vrb_put_all - put all data into a VRB
LIBRARY¶
-lvrb
SYNOPSIS¶
#include <vrb.h>
int vrb_put_all(vrb_p vrb, char
*source, size_t size);
DESCRIPTION¶
vrb_put_all puts caller provided data into a virtual ring buffer only if
all the data will fit.
ARGUMENTS¶
vrb_p vrb
specifies which virtual ring buffer.
char *source
specifies the location where to copy the data from.
size_t size
specifies the length of data provided by the caller.
RETURN VALUE¶
int
If the data fits and is copied, 0 is returned, otherwise -1 is returned.
ERRORS¶
If an error is returned, then
errno will have one of the following
values:
- EINVAL
- An invalid virtual ring buffer pointer was specified.
- ENOSPC
- The virtual ring buffer does not have enough space to hold
all of the data.
SEE ALSO¶
vrb(3),
vrb_capacity(3),
vrb_data_len(3),
vrb_data_ptr(3),
vrb_destroy(3),
vrb_get(3),
vrb_get_min(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_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)