vrb_write_min(3)
π vrb_write_min(3) π
okay bestie, welcome to the VRB Programmer's Manual page for vrb_write_min β it's giving βwrite data from a VRBβ and it's lowkey iconic. π
π NAME π
vrb_write_min β write data from a VRB β¨
π LIBRARY π
-lvrb β that's the library, bestie. π«Ά
β¨ SYNOPSIS β¨
#include <vrb.h>
size_t vrb_write_min(vrb_p vrb, int fd, size_t maxsize, size_t minsize);
π DESCRIPTION π
okay so vrb_write_min writes a minimum amount of data to a specified open file descriptor, using write(2), pulling from the specified virtual ring buffer. It's done when the specified maximum length has been written, the buffer is full, or an error is returned β and yes, that includes EAGAIN or EWOULDBLOCK for a non-blocking descriptor. π
the rule that matters most: if there is insufficient data in the buffer to write the minimum amount, then write(2) will not be called. periodt. π₯
π«Ά 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~0for unlimited. βsize_t minsizeβ specifies the minimum length to write. π
π RETURN VALUE π
the return type is size_t, bestie. π
- 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,
0is returned. π - If an error occurs from
write(2), the return value is~0anderrnois set bywrite(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 thanwrite(2)uses. πEINVALβ An invalid virtual ring buffer pointer was specified. π
bestie, that0EOF situation is not the same shape aswrite(2)'s EOF vibe β the page literally calls that out, so don't miss it. π«Ά
π 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) β that's the whole squad. π«Ά
π okay that's the whole page, bestie! source/version: vrb; date: 2002-09-30; page: vrb_write_min(3). periodt. π
π¦ where this page comes from
- nixos 26.05: vrb 0.5.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms