Man Linux: Main Page and Category List

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)