Teonet library  0.4.7
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
jsmn.h
Go to the documentation of this file.
1 #ifndef __JSMN_H_
2 #define __JSMN_H_
3 
4 #include <stddef.h>
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
17 typedef enum {
23 } jsmntype_t;
24 
25 enum jsmnerr {
26  /* Not enough tokens were provided */
28  /* Invalid character inside JSON string */
30  /* The string is not a full JSON packet, more bytes expected */
32 };
33 
40 typedef struct {
42  int start;
43  int end;
44  int size;
45 #ifdef JSMN_PARENT_LINKS
46  int parent;
47 #endif
48 } jsmntok_t;
49 
54 typedef struct {
55  unsigned int pos; /* offset in the JSON string */
56  unsigned int toknext; /* next token to allocate */
57  int toksuper; /* superior token node, e.g parent object or array */
58 } jsmn_parser;
59 
63 void jsmn_init(jsmn_parser *parser);
64 
69 int jsmn_parse(jsmn_parser *parser, const char *js, size_t len,
70  jsmntok_t *tokens, unsigned int num_tokens);
71 
72 #ifdef __cplusplus
73 }
74 #endif
75 
76 #endif /* __JSMN_H_ */
JSON token description.
Definition: jsmn.h:40
int jsmn_parse(jsmn_parser *parser, const char *js, size_t len, jsmntok_t *tokens, unsigned int num_tokens)
Run JSON parser.
Definition: jsmn.c:151
jsmntype_t
JSON type identifier.
Definition: jsmn.h:17
Definition: jsmn.h:18
unsigned int toknext
Definition: jsmn.h:56
Definition: jsmn.h:21
Definition: jsmn.h:27
Definition: jsmn.h:19
jsmntype_t type
Definition: jsmn.h:41
JSON parser.
Definition: jsmn.h:54
Definition: jsmn.h:22
void jsmn_init(jsmn_parser *parser)
Create JSON parser over an array of tokens.
Definition: jsmn.c:309
int toksuper
Definition: jsmn.h:57
int start
Definition: jsmn.h:42
Definition: jsmn.h:29
Definition: jsmn.h:31
Definition: jsmn.h:20
int end
Definition: jsmn.h:43
int size
Definition: jsmn.h:44
unsigned int pos
Definition: jsmn.h:55
jsmnerr
Definition: jsmn.h:25