Provided by: libvrb0-dev_0.5.1-5.1_amd64 bug


       vrb_resize - create a new virtual ring buffer




       #include <vrb.h>

       vrb_p vrb_resize(size_t size, const char *name);


       vrb_resize changes the size of a virtual ring buffer if the data in the source buffer will
       fit in the requested space.


       vrb_p vrb
       specifies the ring buffer which will be resized.

       size_t size
       specifies the requested minimum buffer size to be allocated.   The  given  value  will  be
       rounded  up  to  the nearest or equal whole multiple of the system page size.  The virtual
       ring buffer is implemented by mapping two adjacent blocks of memory  to  the  same  memory
       object.   Thus,  twice  as  much virtual address space will be used and the specified size
       must be less than half of the available virtual address space for this process.

       const char *name
       specifies an optional name of a file to be used as backing store via mmap(2) in a  mounted
       filesystem  in which the process has write permission.  If the named file cannot be opened
       for write, an error will occur.  If NULL is given, swap space  will  be  used  as  backing
       store via shmat(2).


       On success, 0 is returned.  Otherwise, -1 is returned.


       If an error is returned, then errno will have one of the following values:

       ENOSPC The data in the current virtual ring buffer will not fit into the requested space.

       EINVAL A  buffer  size  was  requested  which  is  too  large for address space allocation

       ENOMEM Out of memory allocating the virtual ring buffer structure.

       -      An errno value set by a failing system call.


       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_space_len(3),    vrb_space_ptr(3),    vrb_take(3),    vrb_uninit(3),     vrb_write(3),