FreeBSD Manual Pages
KHTML_ELEMAT(3) Library Functions Manual KHTML_ELEMAT(3) NAME khtml_closeelem -- close element contexts of kcgihtml LIBRARY library "libkcgihtml" SYNOPSIS #include <sys/types.h> #include <stdarg.h> #include <stdint.h> #include <kcgi.h> #include <kcgihtml.h> enum kcgi_err khtml_closeelem(struct khtmlreq *req, size_t nclose); DESCRIPTION Closes nclose element scopes of req, initialised with khtml_open(3). Scopes are opened with khtml_attr(3), khtml_attrx(3), or khtml_elem(3). Scopes for "void" elements (self-closing, like KELEM_LINK) or KELEM_DOCTYPE close immediately and should not be explicitly closed. If nclose is zero or greater than the number of open scopes, all scopes are closed. RETURN VALUES Returns an enum kcgi_err indicating the error state. KCGI_OK Success (not an error). KCGI_ENOMEM Internal memory allocation failure. KCGI_HUP The output connection has been terminated. For FastCGI connec- tions, the current connection should be released with khttp_free(3) and parse loop reentered. KCGI_FORM The connection is still expecting headers with khttp_head(3). In- dicates that khttp_body(3) did not return with success or was not invoked. For FastCGI connections, the current connection should be released with khttp_free(3) and parse loop reentered. KCGI_SYSTEM Internal system error writing to the output stream. EXAMPLES The following outputs a simple HTML page. It assumes r is a struct kreq pointer. For brevity, it does not do any error checking. 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); 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, 2); /* title, head */ khtml_elem(&req, KELEM_BODY); khtml_elem(&req, KELEM_P); khtml_puts(&req, "Hello, world"); khtml_closeelem(&req, 1); /* p */ khtml_elem(&req, KELEM_P); khtml_puts(&req, "Another hello, world"); khtml_close(&req); SEE ALSO kcgihtml(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$ KHTML_ELEMAT(3)
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | EXAMPLES | SEE ALSO | STANDARDS | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=khtml_closeelem&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>
