vrb_write
writes data to a specified open file descriptor using
write(2)
from the specified
virtual ring buffer until the specified maximum length has been written,
the buffer is full, 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 write to
size_t size
specifies the maximum length to write, or
~0
for unlimited (all of buffer).
RETURN VALUE
size_t
If successful, the actual length of data written from the buffer is returned.
If no data was available to be written, 0 will be returned.
If an error occurs from
write(2),
the return value is ~0 and
errno is set by
write(2).
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
write(2)
uses.
EINVAL
An invalid virtual ring buffer pointer was specified.