vrb_read(3)

vrb_read3

Read data into a vrb

Usage

#include <vrb.h>

size_t vrb_read(vrb_p vrb, int fd, size_t size);

Library

-lvrb

Overview

vrb_read reads data from a specified open file descriptor using read(2) into the specified virtual ring buffer until the specified maximum length has been read, the buffer is full, or end-of-file, or an error is returned (including EAGAIN or EWOULDBLOCK for a non-blocking descriptor).

Arguments

vrb_p vrb
specifies which virtual ring buffer.

int fd
specifies the open file descriptor to read from

size_t size
specifies the maximum length to read, or ~0 for unlimited.

Return value

size_t
If successful, the actual length of data read into the buffer is returned. If end-of-file occurs, the return value is ~0 and errno is 0. If an error occurs from read(2), the return value is ~0 and errno is set by read(2). Note that this is a different way of returning an end-of-file condition than read(2) uses.

Errors

If an error is returned, then errno will have one of the following values:

0

An end-of-file has occurred. Note that this is a different way of returning an end-of-file condition than read(2) uses.

EINVAL

An invalid virtual ring buffer pointer was specified.

Releases

Unchanged in 2 releases since Debian 6.0 (Squeeze).

  1. 6.0–7

From libvrb0-dev 0.5.1-5.1 in Debian 7 (Wheezy). Parsed by carta from the page's man source.