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

FreeBSD Manual Pages

  
 
  

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

NAME
       kxml_write -- put content data for kcgixml

LIBRARY
       library "libkcgixml"

SYNOPSIS
       #include	<sys/types.h>
       #include	<stdarg.h>
       #include	<stdint.h>
       #include	<kcgi.h>
       #include	<kcgixml.h>

       enum kcgi_err
       kxml_write(const	char *buf, size_t sz, void *arg);

DESCRIPTION
       Writes  binary data buf of length sz to a context arg, a	struct kxmlreq
       initialised with	kxml_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 XML escaped.

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 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 ALSO
       kcgixml(3)

AUTHORS
       Written by Kristaps Dzonsons <kristaps@bsd.lv>.

FreeBSD	Ports 14.quarterly	  $Mdocdate$			  KXML_PUTS(3)

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

home | help