open62541
1.3.12
Open source implementation of OPC UA
Loading...
Searching...
No Matches
doc
open62541
deps
jsmn
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
10
11
typedef
enum
{
12
JSMN_UNDEFINED
= 0,
13
JSMN_OBJECT
= 1,
14
JSMN_ARRAY
= 2,
15
JSMN_STRING
= 3,
16
JSMN_PRIMITIVE
= 4,
17
JSMN_PROCESSED
= 5
18
}
jsmntype_t
;
19
20
enum
jsmnerr
{
21
/* Not enough tokens were provided */
22
JSMN_ERROR_NOMEM
= -1,
23
/* Invalid character inside JSON string */
24
JSMN_ERROR_INVAL
= -2,
25
/* The string is not a full JSON packet, more bytes expected */
26
JSMN_ERROR_PART
= -3
27
};
28
29
30
typedef
struct
{
31
jsmntype_t
type
;
32
int
start
;
33
int
end
;
34
int
size
;
35
#ifdef JSMN_PARENT_LINKS
36
int
parent;
37
#endif
38
}
jsmntok_t
;
39
40
41
typedef
struct
{
42
unsigned
int
pos
;
/* offset in the JSON string */
43
unsigned
int
toknext
;
/* next token to allocate */
44
int
toksuper
;
/* superior token node, e.g parent object or array */
45
}
jsmn_parser
;
46
47
48
void
jsmn_init
(
jsmn_parser
*parser);
49
50
51
int
jsmn_parse
(
jsmn_parser
*parser,
const
char
*js,
size_t
len,
52
jsmntok_t
*tokens,
unsigned
int
num_tokens);
53
54
#ifdef __cplusplus
55
}
56
#endif
57
58
#endif
/* __JSMN_H_ */
jsmntype_t
jsmntype_t
Definition
jsmn.h:11
JSMN_PRIMITIVE
@ JSMN_PRIMITIVE
Definition
jsmn.h:16
JSMN_OBJECT
@ JSMN_OBJECT
Definition
jsmn.h:13
JSMN_UNDEFINED
@ JSMN_UNDEFINED
Definition
jsmn.h:12
JSMN_PROCESSED
@ JSMN_PROCESSED
Definition
jsmn.h:17
JSMN_ARRAY
@ JSMN_ARRAY
Definition
jsmn.h:14
JSMN_STRING
@ JSMN_STRING
Definition
jsmn.h:15
jsmn_parse
int jsmn_parse(jsmn_parser *parser, const char *js, size_t len, jsmntok_t *tokens, unsigned int num_tokens)
jsmn_init
void jsmn_init(jsmn_parser *parser)
jsmnerr
jsmnerr
Definition
jsmn.h:20
JSMN_ERROR_INVAL
@ JSMN_ERROR_INVAL
Definition
jsmn.h:24
JSMN_ERROR_PART
@ JSMN_ERROR_PART
Definition
jsmn.h:26
JSMN_ERROR_NOMEM
@ JSMN_ERROR_NOMEM
Definition
jsmn.h:22
jsmn_parser
Definition
jsmn.h:41
jsmn_parser::pos
unsigned int pos
Definition
jsmn.h:42
jsmn_parser::toksuper
int toksuper
Definition
jsmn.h:44
jsmn_parser::toknext
unsigned int toknext
Definition
jsmn.h:43
jsmntok_t
Definition
jsmn.h:30
jsmntok_t::start
int start
Definition
jsmn.h:32
jsmntok_t::size
int size
Definition
jsmn.h:34
jsmntok_t::end
int end
Definition
jsmn.h:33
jsmntok_t::type
jsmntype_t type
Definition
jsmn.h:31
Generated by
1.11.0