KXML_PUTS(3)
β¨ NAME β¨
kxml_puts β put string content for kcgixml. This is the KXML_PUTS(3) manual page, a Library Functions Manual moment, and it's lowkey iconic for anyone building XML with kcgixml. π
π LIBRARY π
It lives in library βlibkcgixmlβ. That's the whole vibe. β¨
π¦ SYNOPSIS π¦
#include <sys/types.h>
#include <stdarg.h>
#include <stdint.h>
#include <kcgi.h>
#include <kcgixml.h>
enum kcgi_err
kxml_puts(struct kxmlreq *req, const char *cp);
πΈ DESCRIPTION πΈ
Okay bestie, here's the tea: kxml_puts writes a NUL-terminated string cp to a context req that was initialised with kxml_open(3). If cp is NULL, it does nothing and returns success β no drama, no error, just vibes. π«Ά
All of the content is XML escaped. Also important: it does not append a newline like puts(3) does, so don't expect that little extra line break. periodt.
π RETURN VALUES π
It returns an enum kcgi_err indicating the error state. Here's the full cast:
KCGI_OKβ Success (not an error). Slay.KCGI_ENOMEMβ Internal memory allocation failure. πKCGI_HUPβ The output connection has been terminated. For FastCGI connections, the current connection should be released withkhttp_free(3)and parse loop reentered.KCGI_FORMβ The connection is still expecting headers withkhttp_head(3). Indicates thatkhttp_body(3)did not return with success or was not invoked. For FastCGI connections, the current connection should be released withkhttp_free(3)and parse loop reentered.KCGI_SYSTEMβ Internal system error writing to the output stream. π
π₯ EXAMPLES π₯
The following outputs a simple XML page. It assumes r is a struct kreq pointer. For brevity, it does not do any error checking.
const char *const elems[] =
{ "foo", "bar", "baz" };
khttp_head(r, kresps[KRESP_STATUS],
"%s", khttps[KHTTP_200]);
khttp_head(r, kresps[KRESP_CONTENT_TYPE],
"%s", kmimetypes[KMIME_TEXT_XML]);
khttp_body(r);
kxml_open(&req, r, elems, 3);
kxml_push(&req, 0); /* foo */
kxml_puts(&req, "Hello, world");
kxml_close(&req);
π SEE ALSO π
kcgixml(3)β go read that too, bestie, it's the whole context.
π AUTHORS π
Written by Kristaps Dzonsons <kristaps@bsd.lv>.
mwah π
this page is from Debian, version/date $Mdocdate$, and it's the KXML_PUTS(3) manual page. You're all caught up β bye bestie! π«Άβ¨
π¦ where this page comes from
- alpine 3.24: kcgi-doc 1.0.1-r0 Β· ISC
- Copyright (c) 2020 Kristaps Dzonsons <kristaps@bsd.lv>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms