FreeBSD Manual Pages
KCGIHTML(3) Library Functions Manual KCGIHTML(3) NAME kcgihtml -- HTML output for kcgi LIBRARY library "libkcgihtml" SYNOPSIS #include <sys/types.h> #include <stdarg.h> #include <stdint.h> #include <kcgi.h> #include <kcgihtml.h> DESCRIPTION Produce output of XML-formed HTML5 content in a kcgi(3) context allo- cated with khttp_parse(3). To compile and link, use pkg-config(1) as follows: % cc `pkg-config --cflags kcgi-html` -c sample.c % cc -o sample sample.o `pkg-config --libs kcgi-html` All of the kcgihtml functions accept a struct khtmlreq object. To use this properly, open a context with khtml_open(), output desired HTML content, then close the context with khtml_close(). EXAMPLES The following outputs a simple HTML page. It assumes r is a struct kreq pointer. For completeness, this restricts all future writes to HTML. khttp_head(r, kresps[KRESP_STATUS], "%s", khttps[KHTTP_200]); khttp_head(r, kresps[KRESP_CONTENT_TYPE], "%s", kmimetypes[KMIME_TEXT_HTML]); khttp_body(r); khtml_open(&req, r, 0); kcgi_writer_disable(r); khtml_elem(&req, KELEM_DOCTYPE); khtml_elem(&req, KELEM_HTML); khtml_elem(&req, KELEM_HEAD); khtml_elem(&req, KELEM_TITLE); khtml_puts(&req, "Hello, world"); khtml_closeelem(&req, 1); /* title */ khtml_attr(&req, KELEM_LINK, KATTR_REL, "stylesheet", KATTR_HREF, "/style.css", KATTR__MAX); khtml_closeelem(&req, 1); /* head */ khtml_elem(&req, KELEM_BODY); khtml_elem(&req, KELEM_P); khtml_puts(&req, "Hello, world"); khtml_entity(&req, KENTITY_mdash); khtml_printf(&req, "%s", "how are you?"); khtml_putc(&req, ' '); khtml_ncr(&req, 0x1F601); /* smiley */ khtml_close(&req); /* close all scopes */ The element name comment alongside html_closeelem() hints as to which scope is being closed. SEE ALSO khtml_attr(3), khtml_close(3), khtml_closeelem(3), khtml_closeto(3), khtml_double(3), khtml_elem(3), khtml_elemat(3), khtml_entity(3), khtml_int(3), khtml_ncr(3), khtml_open(3), khtml_printf(3), khtml_putc(3), khtml_puts(3), khtml_write(3) STANDARDS The referenced HTML5 standard is HTML5.2: https://www.w3.org/TR/html52. AUTHORS Written by Kristaps Dzonsons <kristaps@bsd.lv>. FreeBSD Ports 14.quarterly $Mdocdate$ KCGIHTML(3)
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | EXAMPLES | SEE ALSO | STANDARDS | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=kcgihtml&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>