autojson  0.1
A JSON parser base on the automaton provided by json.org
 All Classes Files Functions Typedefs Enumerations Enumerator Pages
JSON_checker.h
Go to the documentation of this file.
1 
8 #ifndef JSON_CHECKER_H_INCLUDED
9 #define JSON_CHECKER_H_INCLUDED
10 
11 #include <stddef.h>
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
21 typedef enum JSON_event
22 {
31  JSON_number,
33  JSON_null,
37 } JSON_event;
38 
41 typedef enum JSON_result
42 {
43  JSON_error,
44  JSON_ok
45 } JSON_result;
46 
64 typedef void (*JSON_callback)(void *user, JSON_event type, const char *data, size_t len);
65 
66 typedef struct JSON_checker_struct {
67  int state;
68  int depth;
69  int top;
70  int* stack;
71 
72  char token[1024];
73  size_t token_len;
74 
75 } * JSON_checker;
76 
89 extern JSON_checker new_JSON_checker(int depth);
90 
106 extern int JSON_checker_char(JSON_checker jc, const char *chars, size_t len, JSON_callback cb, void *user);
107 extern int JSON_checker_done(JSON_checker jc);
108 
109 #ifdef __cplusplus
110 }
111 #endif
112 
113 #endif
Literal value "false".
Definition: JSON_checker.h:36
JSON_result
Definition: JSON_checker.h:41
End of a JSON array.
Definition: JSON_checker.h:24
void(* JSON_callback)(void *user, JSON_event type, const char *data, size_t len)
Definition: JSON_checker.h:64
Definition: JSON_checker.h:30
Literal value "null".
Definition: JSON_checker.h:34
Start of a JSON object.
Definition: JSON_checker.h:25
Definition: JSON_checker.h:32
Literal value "true".
Definition: JSON_checker.h:35
int JSON_checker_char(JSON_checker jc, const char *chars, size_t len, JSON_callback cb, void *user)
Definition: JSON_checker.c:333
Start of a JSON array.
Definition: JSON_checker.h:23
Definition: JSON_checker.h:66
JSON_checker new_JSON_checker(int depth)
Definition: JSON_checker.c:238
JSON_event
Definition: JSON_checker.h:21
Definition: JSON_checker.h:26
End of a JSON object.
Definition: JSON_checker.h:29