Man Linux: Main Page and Category List

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)