MACSio  0.9
Multi-purpose, Application-Centric, Scalable I/O Proxy App
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
json_tokener.h
Go to the documentation of this file.
1 /*
2  * $Id: json_tokener.h,v 1.10 2006/07/25 03:24:50 mclark Exp $
3  *
4  * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd.
5  * Michael Clark <michael@metaparadigm.com>
6  *
7  * This library is free software; you can redistribute it and/or modify
8  * it under the terms of the MIT license. See COPYING for details.
9  *
10  */
11 
12 #ifndef _json_tokener_h_
13 #define _json_tokener_h_
14 
15 #include <stddef.h>
16 #include "json_object.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
40 };
41 
76 };
77 
78 struct json_tokener_srec
79 {
81  struct json_object *obj;
82  struct json_object *current;
83  char *obj_field_name;
84 };
85 
86 #define JSON_TOKENER_DEFAULT_DEPTH 32
87 
88 struct json_tokener
89 {
90  char *str;
91  struct printbuf *pb;
94  unsigned int ucs_char;
95  char quote_char;
96  struct json_tokener_srec *stack;
97  int flags;
98 };
99 
110 #define JSON_TOKENER_STRICT 0x01
111 
118 const char *json_tokener_error_desc(enum json_tokener_error jerr);
119 
130 
131 extern struct json_tokener* json_tokener_new(void);
132 extern struct json_tokener* json_tokener_new_ex(int depth);
133 extern void json_tokener_free(struct json_tokener *tok);
134 extern void json_tokener_reset(struct json_tokener *tok);
135 extern struct json_object* json_tokener_parse(const char *str);
136 extern struct json_object* json_tokener_parse_verbose(const char *str, enum json_tokener_error *error);
137 
141 extern void json_tokener_set_flags(struct json_tokener *tok, int flags);
142 
211 extern struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
212  const char *str, int len);
213 
214 #ifdef __cplusplus
215 }
216 #endif
217 
218 #endif
struct json_tokener * json_tokener_new(void)
Definition: json_tokener.c:123
struct json_tokener_srec * stack
Definition: json_tokener.h:96
void json_tokener_reset(struct json_tokener *tok)
Definition: json_tokener.c:146
void json_tokener_free(struct json_tokener *tok)
Definition: json_tokener.c:128
enum json_tokener_error json_tokener_get_error(struct json_tokener *tok)
Definition: json_tokener.c:95
struct json_tokener * json_tokener_new_ex(int depth)
Definition: json_tokener.c:106
void json_tokener_set_flags(struct json_tokener *tok, int flags)
enum json_tokener_state state saved_state
Definition: json_tokener.h:80
struct printbuf * pb
Definition: json_tokener.h:91
json_tokener_state
Definition: json_tokener.h:42
#define state
Definition: json_tokener.c:186
const char * json_tokener_error_desc(enum json_tokener_error jerr)
Definition: json_tokener.c:87
struct json_object * json_tokener_parse_verbose(const char *str, enum json_tokener_error *error)
Definition: json_tokener.c:166
struct json_object * obj
Definition: json_tokener.h:81
struct json_object * json_tokener_parse_ex(struct json_tokener *tok, const char *str, int len)
Definition: json_tokener.c:273
unsigned int ucs_char
Definition: json_tokener.h:94
struct json_object * current
Definition: json_tokener.h:82
struct json_object * json_tokener_parse(const char *str)
Definition: json_tokener.c:158
enum json_tokener_error err
Definition: json_tokener.h:93
json_tokener_error
Definition: json_tokener.h:22