NAME
vrb_write - write data from a VRB
LIBRARY
-lvrb
SYNOPSIS
#include <vrb.h>
size_t vrb_write(vrb_p vrb, int fd, size_t size);
DESCRIPTION
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.
SEE ALSO
vrb(3), vrb_capacity(3), vrb_data_len(3), vrb_data_ptr(3),
vrb_destroy(3), vrb_get(3), vrb_get_min(3), vrb_give(3), vrb_init(3),
vrb_init_opt(3), vrb_is_empty(3), vrb_is_full(3), vrb_is_not_empty(3),
vrb_is_not_full(3), vrb_move(3), vrb_new(3), vrb_new_opt(3),
vrb_put(3), vrb_put_all(3), vrb_read(3), vrb_read_min(3),
vrb_resize(3), vrb_space_len(3), vrb_space_ptr(3), vrb_take(3),
vrb_uninit(3), vrb_write_min(3), write(2)