vrb_give(3) create a new virtual ring buffer

LIBRARY

-lvrb

SYNOPSIS

#include <vrb.h>

vrb_p vrb_give(vrb_p vrb, size_t size);

DESCRIPTION

vrb_give specifies how much data has been placed into the empty portion of the virtual ring buffer by the caller.

The caller will have called vrb_empty_len(3) and vrb_empty_ptr(3) to get the length of empty space in the buffer and a pointer to it, and having placed some data into that space, starting from the pointer obtained and placing 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 placed into the virtual ring buffer empty space 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 empty space in the virtual ring buffer.