Diff for /libelwix/inc/elwix/ajson.h between versions 1.1.2.3 and 1.1.2.7

version 1.1.2.3, 2017/11/24 15:53:04 version 1.1.2.7, 2017/11/28 11:14:00
Line 53  typedef enum { Line 53  typedef enum {
         J_OBJECT = 1,          J_OBJECT = 1,
         J_ARRAY = 2,          J_ARRAY = 2,
         J_STRING = 3,          J_STRING = 3,
        J_NUMBER = 4,        J_VALUE = 4
        J_BOOL = 5, 
        J_NULL = 6 
 } jtype_t;  } jtype_t;
   
 /* JSON error numbers */  /* JSON error numbers */
Line 74  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 113  void json_free(json_t * __restrict json); Line 119  void json_free(json_t * __restrict json);
  */   */
 unsigned int json_parse(json_t * __restrict json, const char *jstr, size_t jlen,   unsigned int json_parse(json_t * __restrict json, const char *jstr, size_t jlen, 
                 jtok_t * __restrict jtoks, unsigned int toksnum);                  jtok_t * __restrict jtoks, unsigned int toksnum);
   
   /*
    * json_token2val() - Return token to AIT variable
    *
    * @jstr = JSON string
    * @tok = Token for convert
    * @return =NULL error or !=NULL variable, after use should be ait_freeVar()
    */
   ait_val_t *json_token2val(const char *jstr, jtok_t * __restrict tok);
   /*
    * json_token2str() - Return token to string
    *
    * @jstr = JSON string
    * @tok = Token for convert
    * @return =NULL error or !=NULL allocated str, after use should be e_free()
    */
   char *json_token2str(const char *jstr, jtok_t * __restrict tok);
   /*
    * json_token2num() - Return token to numeric
    *
    * @jstr = JSON string
    * @tok = Token for convert
    * @return number
    */
   long json_token2num(const char *jstr, jtok_t * __restrict tok);
   /*
    * json_token2array() - Convert token to string array
    *
    * @jstr = JSON string
    * @tok = Token for convert
    * return: =NULL error or !=NULL allocated array with string variables, 
    *              after use should be ait_freeVars()
    */
   array_t *json_token2array(const char *jstr, jtok_t * __restrict tok);
   
   /*
    * json_findbykey() - Find data by key
    *
    * @jstr = JSON string
    * @key = Search key
    * @toks = Parsed tokens
    * @toksnum = Number of parsed tokens
    * return: =NULL error or !=NULL data token found 
    */
   jtok_t *json_findbykey(const char *jstr, const char *key, 
                   jtok_t * __restrict toks, int toksnum);
   
   
 #endif  #endif

Removed from v.1.1.2.3  
changed lines
  Added in v.1.1.2.7


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