kcgijson man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

KCGIJSON(3)		 BSD Library Functions Manual		   KCGIJSON(3)

NAME
     kcgijson, kjson_open, kjson_close, kjson_putbool, kjson_putboolp,
     kjson_putint, kjson_putintp, kjson_putdouble, kjson_putdoublep,
     kjson_putnull, kjson_putnullp, kjson_putstring, kjson_putstringp,
     kjson_obj_open, kjson_objp_open, kjson_obj_close, kjson_array_open,
     kjson_arrayp_open, kjson_array_close, kjson_string_open,
     kjson_stringp_open, kjson_string_close, kjson_string_putdouble,
     kjson_string_putint, kjson_string_puts, kjson_string_write — JSON han‐
     dling functions for kcgi

LIBRARY
     library “libkcgijson”

SYNOPSIS
     #include <stdint.h>
     #include <kcgi.h>
     #include <kcgijson.h>

     void
     kjson_open(struct kjsonreq *r, struct kreq *req);

     int
     kjson_close(struct kjsonreq *r);

     int
     kjson_putbool(struct kjsonreq *r, int val);

     int
     kjson_putboolp(struct kjsonreq *r, const char *key, int val);

     int
     kjson_putdouble(struct kjsonreq *r, double val);

     int
     kjson_putdoublep(struct kjsonreq *r, const char *key, double val);

     int
     kjson_putint(struct kjsonreq *r, int64_t val);

     int
     kjson_putintp(struct kjsonreq *r, const char *key, int64_t val);

     int
     kjson_putnull(struct kjsonreq *r);

     int
     kjson_putnullp(struct kjsonreq *r, const char *key);

     int
     kjson_putstring(struct kjsonreq *r, const char *val);

     int
     kjson_putstringp(struct kjsonreq *r, const char *key, const char *val);

     int
     kjson_obj_open(struct kjsonreq *r);

     int
     kjson_objp_open(struct kjsonreq *r, const char *key);

     int
     kjson_obj_close(struct kjsonreq *r);

     int
     kjson_array_open(struct kjsonreq *r);

     int
     kjson_arrayp_open(struct kjsonreq *r, const char *key);

     int
     kjson_array_close(struct kjsonreq *r);

     int
     kjson_string_open(struct kjsonreq *r);

     int
     kjson_stringp_open(struct kjsonreq *r, const char *key);

     int
     kjson_string_close(struct kjsonreq *r);

     int
     kjson_string_putint(struct kjsonreq *r, int64_t val);

     int
     kjson_string_puts(struct kjsonreq *r, const char *cp);

     int
     kjson_string_write(const char *cp, size_t sz, void *arg);

DESCRIPTION
     The kcgijson functions extend kcgi(3) output with JSON objects and arrays
     for contexts allocated with khttp_parse(3).  None of these functions may
     be called before khttp_body(3).

     All kcgijson sequences begin and end with kjson_open and kjson_close,
     respectively.  These enclose a standalone-type array or object context,
     kjson_array_open or kjson_obj_open, respectively, each with its own pair-
     type or standalone-type children.

     In general, kcgijson functions follow the convention of writing either
     pair-type (ending in "p") or standalone-type data.	 Standalone values are
     used in arrays; key-value pairs are used in objects.  Passing a NULL
     value as the key for any key-value pair function is the same as calling
     the standalone version.

     To use these functions, you must include the <kcgijson.h> header and com‐
     pile with library “kcgijson”, for example,

     % cc -I/usr/local/include -c -o sample.o sample.c
     % cc -L/usr/local/lib -o sample -lkcgijson -lkcgi -lz

     kjson_open()
	     Initialise a JSON context.

     kjson_close()
	     Close a JSON context as opened with kjson_open().	This will also
	     close any open arrays, strings, or objects.  You should not use
	     the object after invoking this function.

     kjson_arrayp_open()
	     This and kjson_array_open() start an array context with or with‐
	     out a name.

     kjson_array_close()
	     Close an array context with or without a name.
	     kjson_string_open() This and kjson_stringp_open() start a string
	     context with or without a name.  This is usually used for complex
	     values, or those create dynamically with khttp_template(3).  The
	     kjson_string_putdouble(), kjson_string_putint(),
	     kjson_string_puts(), and kjson_string_write() functions may be
	     used for serialising value data.

     kjson_string_close()
	     Close a string context with or without a name.

     kjson_obj_open()
	     This and kjson_objp_open() start an object context with or with‐
	     out a name.

     kjson_obj_close()
	     Close an object context with or without a name.

     kjson_putstringp()
	     This and kjson_putstring() emit a string value with or without a
	     name.  Note that it is not checked for character encoding, only
	     character legality.

     kjson_putboolp()
	     This and kjson_putbool() emit a Boolean value with or without a
	     name.  In the usual way, 0 evalutes to FALSE, non-zero to TRUE.

     kjson_putnullp()
	     This and kjson_putnull() emit a null value with or without a
	     name.

     kjson_putintp()
	     This and kjson_putint() emit a 64-bit signed integer value with
	     or without a name.

     kjson_putdoublep()
	     This and kjson_putdouble() emit a double-precision floating point
	     value with or without a name.  This is formatted as with the %g
	     argument to printf(3).

RETURN VALUES
     Functions returning an int indicate 0 on failure.	This occurs if the
     requested statement occurs out of context, for example, emitting a key-
     value pair in an array context (or the root context), or emitting a
     standalone value in an object.  On failure, the request is ignored.

STANDARDS
     The kcgijson functions conform to the ECMA-404 The JSON Data Interchange
     Standard.

AUTHORS
     The kcgijson library was written by Kristaps Dzonsons ⟨kristaps@bsd.lv⟩.

BSD				April 29, 2024				   BSD
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net