KHTML_NCR(3)
π KHTML_NCR(3) π
okay so bestie, welcome to KHTML_NCR(3) from the Library Functions Manual β yes, the whole group chat is here and we are keeping every single detail β¨.
πΈ NAME πΈ
khtml_ncr β put character entity content for kcgihtml π.
π LIBRARY π
the whole thing lives in library βlibkcgihtmlβ π«Ά.
β¨ SYNOPSIS β¨
here is the exact include lineup and the function signature, no cap:
#include <sys/types.h>
#include <stdarg.h>
#include <stdint.h>
#include <kcgi.h>
#include <kcgihtml.h>
enum kcgi_err
khttp_ncr(struct kreq *req, uint32_t v);
copy that exactly as written, bestie β no renaming, no fixing, no editing the source vibes π .
π¦ DESCRIPTION π¦
okay so what does it actually do? It writes a character entity v to a context req initialised with khtml_open(3) π. The value is formatted as "&#xNNNN;" β literally that shape β and ngl, it is not checked for being a valid entity number π. So do not expect a vibe check on your entity number, because it does not get one.
π₯ RETURN VALUES π₯
Returns an enum kcgi_err indicating the error state. Here is the whole cast, no skips:
KCGI_OKβ Success (not an error) β¨ β we love a non-error.KCGI_ENOMEMβ Internal memory allocation failure π β the memory said no.KCGI_HUPβ The output connection has been terminated. For FastCGI connections, the current connection should be released withkhttp_free(3)and parse loop reentered. handle it, bestie.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 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_BODY);
khtml_elem(&req, KELEM_P);
khtml_ncr(&req, 0x1F601); /* smiley */
khtml_close(&req);
the /* smiley */ comment is right there and honestly iconic π.
π§ SEE ALSO π§
kcgihtml(3) β that is the one, bestie, go peek π.
π STANDARDS π
The referenced HTML5 standard is HTML5.2: https://www.w3.org/TR/html52 β¨.
π AUTHORS π
Written by Kristaps Dzonsons <kristaps@bsd.lv> β author icon behavior π.
π that is the page, bestie β Debian source/version with the $Mdocdate$ date stamp, filed under KHTML_NCR(3) π.
π¦ 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