|
NAMEkxml_open —
open kcgixml context
LIBRARYlibrary “libkcgixml”SYNOPSIS#include <sys/types.h>
#include <stdarg.h>
#include <stdint.h>
#include <kcgi.h>
#include <kcgixml.h>
enum kcgi_err
DESCRIPTIONZeroes and initialises a new context req with the underlying kcgi(3) context r as allocated with khttp_parse(3) or khttp_fcgi_parse(3). It should only be called after khttp_body(3). The context is initialised with elemsz possible elements having names elems. It is the caller's responsibility that these be valid XML element names.If kcgi_writer_disable(3) has been called, the process will be killed with an uncatchable signal. RETURN VALUESReturns an enum kcgi_err indicating the error state.
EXAMPLESThe 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 ALSOkcgixml(3)AUTHORSWritten by Kristaps Dzonsons <kristaps@bsd.lv>.
Visit the GSP FreeBSD Man Page Interface. |