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

version 1.1.2.1, 2017/11/24 09:54:01 version 1.1.2.5, 2017/11/28 00:46:53
Line 47  SUCH DAMAGE. Line 47  SUCH DAMAGE.
 #define __AJSON_H  #define __AJSON_H
   
   
   /* JSON type identifiers */
   typedef enum {
           J_UNDEF = 0,
           J_OBJECT = 1,
           J_ARRAY = 2,
           J_STRING = 3,
           J_VALUE = 4
   } jtype_t;
   
   /* JSON error numbers */
   typedef enum {
           J_ERR_OK = 0,
           J_ERR_NOMEM = 1,
           J_ERR_INVAL = 2,
           J_ERR_PART = 3,
           J_ERR_PARAM = 4
   } jerr_t;
   
   typedef struct _tagHandler {
           unsigned long   h_pos;
           unsigned long   h_next;
           long            h_parent;
           void            *h_alloc;
           int             h_strict;
   } json_t;
   
   typedef struct _tagToken {
           jtype_t         tok_type;
           long            tok_start;
           long            tok_end;
           long            tok_size;
           long            tok_parent;
   } jtok_t;
   
   
   /*
    * json_init() - Initialize JSON handler
    *
    * @json = JSON handler, if there is NULL then dynamically will be allocated
    * @jstrict = JSON strict mode, when we select strict mode every unquoted value is error
    * return: =NULL error or !=NULL ready for use JSON handler and should be free with json_free()
    */
   json_t *json_init(json_t * __restrict json, int jstrict);
   
   /*
    * json_free() - Free JSON handler
    *
    * @json = JSON handler
    * return: none
    */
   void json_free(json_t * __restrict json);
   
   /*
    * json_parse() - Parse JSON string
    *
    * @json = JSON handler
    * @jstr = JSON string
    * @jlen = JSON string length
    * @jtoks = Token array
    * @toksnum = Token array size, return number of allocated tokens in array
    * return: -1 error or number of found tokens 
    */
   unsigned int json_parse(json_t * __restrict json, const char *jstr, size_t jlen, 
                   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 array
    *
    * @jstr = JSON string
    * @tok = Token for convert
    * return: =NULL error or !=NULL allocated array with 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.1  
changed lines
  Added in v.1.1.2.5


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