Man Linux: Main Page and Category List

NAME

       vrb_take - take data from a VRB

LIBRARY

       -lvrb

SYNOPSIS

       #include <vrb.h>

       vrb_p vrb_take(vrb_p vrb, size_t size);

DESCRIPTION

       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.

ARGUMENTS

       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.

RETURN VALUE

       int
       On success, 0 is returned.  On error, -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  specified  length  is  greater than the data in the virtual
              ring buffer.

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_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)