---
name: "vrb_get_min"
section: "3"
platform: "linux"
package: "libvrb0-dev"
version: "0.5.1-5.1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/vrb_get_min"
---

# vrb\_get\_min(3)

get minimum data from a VRB

## 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/3.md), [**vrb\_capacity**(3)](/vrb_capacity/3.md), [**vrb\_data\_len**(3)](/vrb_data_len/3.md), [**vrb\_data\_ptr**(3)](/vrb_data_ptr/3.md), [**vrb\_destroy**(3)](/vrb_destroy/3.md), [**vrb\_get**(3)](/vrb_get/3.md), [**vrb\_give**(3)](/vrb_give/3.md), [**vrb\_init**(3)](/vrb_init/3.md), [**vrb\_init\_opt**(3)](/vrb_init_opt/3.md), [**vrb\_is\_empty**(3)](/vrb_is_empty/3.md), [**vrb\_is\_full**(3)](/vrb_is_full/3.md), [**vrb\_is\_not\_empty**(3)](/vrb_is_not_empty/3.md), [**vrb\_is\_not\_full**(3)](/vrb_is_not_full/3.md), [**vrb\_move**(3)](/vrb_move/3.md), [**vrb\_new**(3)](/vrb_new/3.md), [**vrb\_new\_opt**(3)](/vrb_new_opt/3.md), [**vrb\_put**(3)](/vrb_put/3.md), [**vrb\_put\_all**(3)](/vrb_put_all/3.md), [**vrb\_read**(3)](/vrb_read/3.md), [**vrb\_read\_min**(3)](/vrb_read_min/3.md), [**vrb\_resize**(3)](/vrb_resize/3.md), [**vrb\_space\_len**(3)](/vrb_space_len/3.md), [**vrb\_space\_ptr**(3)](/vrb_space_ptr/3.md), [**vrb\_take**(3)](/vrb_take/3.md), [**vrb\_uninit**(3)](/vrb_uninit/3.md), [**vrb\_write**(3)](/vrb_write/3.md), [**vrb\_write\_min**(3)](/vrb_write_min/3.md)
