Diff for /libelwix/inc/elwix/ajson.h between versions 1.1.2.5 and 1.3.4.1

version 1.1.2.5, 2017/11/28 00:46:53 version 1.3.4.1, 2018/03/07 12:26:38
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004 - 2017Copyright 2004 - 2018
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 72  typedef struct _tagHandler { Line 72  typedef struct _tagHandler {
         void            *h_alloc;          void            *h_alloc;
         int             h_strict;          int             h_strict;
 } json_t;  } json_t;
   #define json_toksnum(x)         (x)->h_next
   
 typedef struct _tagToken {  typedef struct _tagToken {
           long            tok_idx;
         jtype_t         tok_type;          jtype_t         tok_type;
         long            tok_start;          long            tok_start;
         long            tok_end;          long            tok_end;
         long            tok_size;          long            tok_size;
         long            tok_parent;          long            tok_parent;
 } jtok_t;  } jtok_t;
   #define json_toktype(x)         (x)->tok_type
   #define json_toksize(x)         (x)->tok_size
   #define json_toklen(x)          ((x)->tok_end - (x)->tok_start)
   #define json_tokstr(j, x)       ((j) + (x)->tok_start)
   #define json_tokstrcpy(d, j, x) { strncpy((d), json_tokstr((j), (x)), json_toklen(x)); \
                                           (d)[json_toklen(x)] = 0; } 
   
   
 /*  /*
Line 137  char *json_token2str(const char *jstr, jtok_t * __rest Line 145  char *json_token2str(const char *jstr, jtok_t * __rest
  */   */
 long json_token2num(const char *jstr, jtok_t * __restrict tok);  long json_token2num(const char *jstr, jtok_t * __restrict tok);
 /*  /*
 * json_token2array() - Convert token to array * json_token2array() - Convert token to string array
  *   *
  * @jstr = JSON string   * @jstr = JSON string
  * @tok = Token for convert   * @tok = Token for convert
 * return: =NULL error or !=NULL allocated array with variables,  * return: =NULL error or !=NULL allocated array with string variables, 
  *              after use should be ait_freeVars()   *              after use should be ait_freeVars()
  */   */
 array_t *json_token2array(const char *jstr, jtok_t * __restrict tok);  array_t *json_token2array(const char *jstr, jtok_t * __restrict tok);
Line 151  array_t *json_token2array(const char *jstr, jtok_t * _ Line 159  array_t *json_token2array(const char *jstr, jtok_t * _
  *   *
  * @jstr = JSON string   * @jstr = JSON string
  * @key = Search key   * @key = Search key
    * @type = Search key for particular token type, if is J_UNDEF this mean any type
  * @toks = Parsed tokens   * @toks = Parsed tokens
  * @toksnum = Number of parsed tokens   * @toksnum = Number of parsed tokens
  * return: =NULL error or !=NULL data token found    * return: =NULL error or !=NULL data token found 
  */   */
 jtok_t *json_findbykey(const char *jstr, const char *key,   jtok_t *json_findbykey(const char *jstr, const char *key, 
                jtok_t * __restrict toks, int toksnum);                jtype_t type, jtok_t * __restrict toks, int toksnum);
 
 
 /*
  * json_dump_yaml() - Dump parsed JSON string to YAML format
  *
  * @f = Output handler
  * @jstr = JSON string
  * @toks = JSON tokens
  * @toksnum = Number of tokens
  * @indent = Start indent spaces
  * return: 0 done and 1 added one more item
  */
 int json_dump_yaml(FILE *f, const char *jstr, jtok_t *toks, int toksnum, int indent);
 
 
 /*
  * json_add_begin_object() - Adds begin of object {
  *
  * @jstr = JSON string
  * @jlen = JSON string length
  * @wspace = whitespace include
  * return: -1 error or !=-1 actual JSON string length
  */
 int json_add_begin_object(char * __restrict jstr, int jlen, int wspace);
 /*
  * json_add_end_object() - Adds end of object }
  *
  * @jstr = JSON string
  * @jlen = JSON string length
  * @wspace = whitespace include
  * return: -1 error or !=-1 actual JSON string length
  */
 int json_add_end_object(char * __restrict jstr, int jlen, int wspace);
 /*
  * json_add_begin_array() - Adds begin of array [
  *
  * @jstr = JSON string
  * @jlen = JSON string length
  * @wspace = whitespace include
  * return: -1 error or !=-1 actual JSON string length
  */
 int json_add_begin_array(char * __restrict jstr, int jlen, int wspace);
 /*
  * json_add_end_array() - Adds end of array ]
  *
  * @jstr = JSON string
  * @jlen = JSON string length
  * @wspace = whitespace include
  * return: -1 error or !=-1 actual JSON string length
  */
 int json_add_end_array(char * __restrict jstr, int jlen, int wspace);
 /*
  * json_add_char() - Adds character
  *
  * @jstr = JSON string
  * @jlen = JSON string length
  * @ch = Character
  * return: -1 error or !=-1 actual JSON string length
  */
 int json_add_char(char * __restrict jstr, int jlen, unsigned char ch);
 /*
  * json_add_colon() - Adds key/value pair delimiter colon :
  *
  * @jstr = JSON string
  * @jlen = JSON string length
  * @wspace = whitespace include
  * return: -1 error or !=-1 actual JSON string length
  */
 int json_add_colon(char * __restrict jstr, int jlen, int wspace);
 /*
  * json_add_comma() - Adds value delimiter comma ,
  *
  * @jstr = JSON string
  * @jlen = JSON string length
  * @wspace = whitespace include
  * return: -1 error or !=-1 actual JSON string length
  */
 int json_add_comma(char * __restrict jstr, int jlen, int wspace);
 /*
  * json_add_string() - Adds string
  *
  * @jstr = JSON string
  * @jlen = JSON string length
  * @unquot = Unquoted string
  * @str = String, it can't be NULL
  * return: -1 error or !=-1 actual JSON string length
  */
 int json_add_string(char * __restrict jstr, int jlen, int unquot, const char *str);
 /*
  * json_add_value() - Adds value
  *
  * @jstr = JSON string
  * @jlen = JSON string length
  * @unquot = Unquoted number
  * @num = Number
  * return: -1 error or !=-1 actual JSON string length
  */
 int json_add_value(char * __restrict jstr, int jlen, int unquot, long num);
 /*
  * json_add_pair() - Adds key/value pair
  *
  * @jstr = JSON string
  * @jlen = JSON string length
  * @wspace = whitespace include
  * @key = Key string
  * @val = Value string
  * return: -1 error or !=-1 actual JSON string length
  */
 int json_add_pair(char * __restrict jstr, int jlen, int wspace, 
                 const char *key, const char *val);
 /*
  * json_add_array() - Adds array
  *
  * @jstr = JSON string
  * @jlen = JSON string length
  * @wspace = whitespace include
  * @arr = Array with variables
  * return: -1 error or !=-1 actual JSON string length
  */
 int json_add_array(char * __restrict jstr, int jlen, int wspace, 
                 array_t * __restrict arr);
   
   
 #endif  #endif

Removed from v.1.1.2.5  
changed lines
  Added in v.1.3.4.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>