FreeBSD Manual Pages
KCGI_BUF_WRITE(3) Library Functions Manual KCGI_BUF_WRITE(3) NAME kcgi_buf_write -- put binary data into a kcgi buffer LIBRARY library "libkcgi" SYNOPSIS #include <sys/types.h> #include <stdarg.h> #include <stdint.h> #include <kcgi.h> enum kcgi_err kcgi_buf_write(const char *buf, size_t sz, void *arg); DESCRIPTION Appends binary data buf of size sz to arg, which is cast to a struct kcgi_buf *. Buffers must be initialised to zero with memset(3) prior to first use. The buffer will always be NUL-terminated. Does nothing if buf is NULL or sz is zero. The struct kcgi_buf structure has the following fields: char *buf Buffer contents. This is always NUL-terminated, even if the data is binary. This buffer must be passed to free(3) after use. size_t maxsz Allocated buffer size. size_t sz Buffer current length not including the NUL terminator. size_t growsz Amount of "slop" space in the buffer if it's reallocated. If set to zero, defaults to 1 KB. RETURN VALUES These functions return an enum kcgi_err indicating the error state: KCGI_OK for no error, KCGI_ENOMEM for an internal memory allocation failure. EXAMPLES The following creates a simple NUL-terminated buffer. It does not per- form any error checking. struct kcgi_buf buf; memset(&buf, 0, sizeof(struct kcgi_buf)); kcgi_buf_write("xyzzy", 5, &buf); puts(buf.buf); /* Emits "xyzzy" */ free(buf.buf); SEE ALSO kcgi_buf_printf(3), kcgi_buf_putc(3), kcgi_buf_puts(3) AUTHORS Written by Kristaps Dzonsons <kristaps@bsd.lv>. FreeBSD Ports 14.quarterly $Mdocdate$ KCGI_BUF_WRITE(3)
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | EXAMPLES | SEE ALSO | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=kcgi_buf_write&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>