---
name: "vrb_put_all"
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_put_all"
---

# vrb\_put\_all(3)

put all data into a VRB

## 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/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\_get\_min**(3)](/vrb_get_min/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\_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)
