Provided by: libvrb0-dev_0.5.1-5.1_amd64
vrb_take - take data from a VRB
#include <vrb.h> vrb_p vrb_take(vrb_p vrb, size_t size);
vrb_take specifies how much data has been obtained from the data portion of the virtual ring buffer by the caller. The caller will have called vrb_data_len(3) and vrb_data_ptr(3) to get the length of data in the buffer and a pointer to it, and having extract some data from the buffer, starting from the pointer obtained and extrating no more that the length obtained.
vrb_p vrb specifies which virtual ring buffer. size_t size specifies the length of data that has been obtained from the virtual ring buffer by the caller.
int On success, 0 is returned. On error, -1 is returned.
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 specified length is greater than the data in the virtual ring buffer.
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_put_all(3), vrb_read(3), vrb_read_min(3), vrb_resize(3), vrb_space_len(3), vrb_space_ptr(3), vrb_uninit(3), vrb_write(3), vrb_write_min(3)