Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KHTML_WRITE(3)		    Library Functions Manual		KHTML_WRITE(3)

NAME
       khtml_write -- put content data for 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_write(const char *buf, size_t sz, void *arg);

DESCRIPTION
       Writes binary data buf of length	sz to a	context	arg, a struct khtmlreq
       initialised with	khtml_open(3) and passed as an opaque pointer.	If buf
       is  NULL	 or  sz	is zero, does nothing and returns success.  All	of the
       content is HTML escaped,	for example, the  left-angle  bracket  "<"  is
       rendered	as "&lt;".

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_BODY);
	     khtml_elem(&req, KELEM_P);
	     khtml_write("Hello, world.", 13, &req);
	     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_WRITE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=khtml_write&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help