- .TH buffer_get 3
- .SH NAME
- buffer_get \- read binary data from buffer
- .SH SYNTAX
- .B #include <buffer.h>
- int \fBbuffer_get\fP(buffer* \fIb\fR,char* \fIx\fR,unsigned long int \fIlen\fR);
- .SH DESCRIPTION
- Normally buffer_get copies data to \fIx\fR, \fIx\fR, ...,
- \fIx\fR[\fIlen\fR-1] from the beginning of a string stored in
- preallocated space; removes these \fIlen\fR bytes from the string; and
- returns \fIlen\fR.
- If, however, the string has fewer than \fIlen\fR (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 \fBread operation\fR to
- feed data into the string. The \fBread operation\fR may indicate end of
- input, in which case buffer_get returns 0; or a read error, in which
- case buffer_get returns -1, setting \fIerrno\fR approporiately.
- The preallocated space and the \fBread operation\fR are specified by
- \fIb\fR. You must initialize \fBb\fR using buffer_init before calling
- buffer_get (or use the pre-initialized buffer_0).
- .SH "SEE ALSO"
- buffer_init(3), buffer_feed(3), buffer_peek(3), buffer_seek(3), buffer(3)