---
name: "vrb_move"
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_move"
---

# vrb\_move(3)

read data into a VRB

## NAME

vrb\_move - read data into a VRB

## LIBRARY

**-lvrb**

## SYNOPSIS

**#include \<vrb.h\>**

*size\_t* **vrb\_move***(vrb\_p* **target***, vrb\_p* **source***, size\_t* **size***);*

## DESCRIPTION

**vrb\_move** moves data from one virtual ring buffer to another, up to the lesser of the available data in the source, the available space in the target, and the maximum size specified.

## ARGUMENTS

*vrb\_p* **target**\
 specifies which virtual ring buffer to put data into.

*vrb\_p* **source**\
 specifies which virtual ring buffer to get data from.

*size\_t* **size**\
 specifies the maximum length to move, or **~0** for unlimited (all of buffer).

## RETURN VALUE

*size\_t*\
 If successful, the actual length of data moved is returned. If an error occurs, ~0 is returned.

## ERRORS

If an error is returned, then *errno* will have the following value:

- **EINVAL**

  An invalid virtual ring buffer pointer was specified for either the target or the source.

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