Poster of Linux kernelThe best gift for a Linux geek
vrb_write_min

vrb_write_min

Section: VRB Programmer's Manual (3) Updated: 2002-09-30
Local index Up
 

NAME

vrb_write_min - write data from a VRB  

LIBRARY

-lvrb  

SYNOPSIS

#include <vrb.h>

size_t vrb_write_min(vrb_p vrb, int fd, size_t maxsize, size_t minsize);  

DESCRIPTION

vrb_write_min writes a minimum amount of 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). If there is insufficient data in the buffer to write the minimum amount, then write(2) will not be called.  

ARGUMENTS

vrb_p vrb
specifies which virtual ring buffer.

int fd
specifies the open file descriptor to write to

size_t maxsize
specifies the maximum length to write, or ~0 for unlimited.

size_t minsize
specifies the minimum length to write.  

RETURN VALUE

size_t
If successful, the actual length of data written from the buffer is returned. If the minimum amount of data was not available to be written, 0 is 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(3), write(2)


 

Index

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
ARGUMENTS
RETURN VALUE
ERRORS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 21:58:09 GMT, April 16, 2011