NAME¶
buffer_get - read binary data from buffer
SYNTAX¶
#include <buffer.h>
ssize_t
buffer_get(buffer*
b,char*
x,size_t
len);
DESCRIPTION¶
Normally buffer_get copies data to
x[0],
x[1], ...,
x[
len-1] from the beginning of a string stored in preallocated
space; removes these
len bytes from the string; and returns
len.
If, however, the string has fewer than
len (but more than 0) bytes,
buffer_get copies only that many bytes, and returns that number.
If the string is empty, buffer_get first uses a
read operation to feed
data into the string. The
read operation may indicate end of input, in
which case buffer_get returns 0; or a read error, in which case buffer_get
returns -1, setting
errno approporiately.
The preallocated space and the
read operation are specified by
b.
You must initialize
b using buffer_init before calling buffer_get (or
use the pre-initialized buffer_0).
SEE ALSO¶
buffer_init(3),
buffer_feed(3),
buffer_peek(3),
buffer_seek(3),
buffer(3)