vrb_uninit(3)

πŸ“¦ version 0.5.1, in nixos 26.05

πŸ’… vrb_uninit(3) β€” uninit a virtual ring buffer, bestie ✨

Fresh from the VRB Programmer's Manual, this is the cleanup-era page: vrb_uninit uninitializes a virtual ring buffer. Obsessed with a tidy exit πŸ’–


✨ NAME ✨

vrb_uninit β€” uninit a virtual ring buffer. Short, sweet, and very "we're done here" 🫢

🧚 LIBRARY 🧚

You'll want -lvrb, obviously πŸ’…

🌸 SYNOPSIS 🌸

#include <vrb.h>

vrb_p vrb_uninit(vrb_p vrb);

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so picture this: you've got a virtual ring buffer controlled by a static structure that was initialized by vrb_init(3) or vrb_init_opt(3). vrb_uninit releases the resources of that virtual ring buffer. When the calling program has no more need for the virtual ring buffer, vrb_uninit(3) should be called to release all resources. The caller is responsible for the original structure space β€” so yes, bestie, that part is still yours to handle 🫢✨

πŸŽ€ ARGUMENTS πŸŽ€

  • vrb_p vrb β€” specifies the virtual ring buffer to be uninitialized. This is the one getting the cleanup treatment πŸ’…

πŸ”₯ RETURN VALUE πŸ”₯

The page says the return type is int β€” and yes, the synopsis right above shows vrb_p, so I'm just reading the manual, bestie πŸ˜­πŸ’€

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

πŸ’€ ERRORS πŸ’€

If an error is returned, then errno will have the following value:

  • EINVAL β€” an invalid virtual ring buffer pointer was given. Rude. πŸ™ˆ

🌈 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_write(3), vrb_write_min(3)


mwah πŸ’‹ sign-off time: this is source/version vrb, dated 2002-09-30, page vrb_uninit(3). Byeee 🫢✨

πŸ“¦ where this page comes from