Data Structures | Macros | Typedefs | Enumerations | Functions
object.h File Reference
#include "mpack_core.h"
#include "conv.h"

Go to the source code of this file.

Data Structures

union  mpack_data_t
 
struct  mpack_node_s
 

Macros

#define MPACK_MAX_OBJECT_DEPTH   32
 
#define MPACK_PARENT_NODE(n)   (((n) - 1)->pos == (size_t)-1 ? NULL : (n) - 1)
 
#define MPACK_THROW(parser)
 
#define MPACK_PARSER_STRUCT(c)
 
#define MPACK_PARSER_STRUCT_SIZE(c)
 

Typedefs

typedef struct mpack_node_s mpack_node_t
 
typedef void(* mpack_walk_cb) (mpack_parser_t *w, mpack_node_t *n)
 

Enumerations

enum  { MPACK_EXCEPTION = -1, MPACK_NOMEM = MPACK_ERROR + 1 }
 

Functions

typedef MPACK_PARSER_STRUCT (0) mpack_one_parser_t
 
typedef MPACK_PARSER_STRUCT (MPACK_MAX_OBJECT_DEPTH) mpack_parser_t
 
MPACK_API void mpack_parser_init (mpack_parser_t *p, mpack_uint32_t c) FUNUSED FNONULL
 
MPACK_API int mpack_parse_tok (mpack_parser_t *walker, mpack_token_t tok, mpack_walk_cb enter_cb, mpack_walk_cb exit_cb) FUNUSED FNONULL_ARG((1
 
MPACK_API int MPACK_API int mpack_unparse_tok (mpack_parser_t *walker, mpack_token_t *tok, mpack_walk_cb enter_cb, mpack_walk_cb exit_cb) FUNUSED FNONULL_ARG((1
 
MPACK_API int MPACK_API int MPACK_API int mpack_parse (mpack_parser_t *parser, const char **b, size_t *bl, mpack_walk_cb enter_cb, mpack_walk_cb exit_cb) FUNUSED FNONULL_ARG((1
 
MPACK_API int MPACK_API int MPACK_API int MPACK_API int mpack_unparse (mpack_parser_t *parser, char **b, size_t *bl, mpack_walk_cb enter_cb, mpack_walk_cb exit_cb) FUNUSED FNONULL_ARG((1
 
MPACK_API int MPACK_API int MPACK_API int MPACK_API int MPACK_API void mpack_parser_copy (mpack_parser_t *d, mpack_parser_t *s) FUNUSED FNONULL
 

Macro Definition Documentation

◆ MPACK_MAX_OBJECT_DEPTH

#define MPACK_MAX_OBJECT_DEPTH   32

◆ MPACK_PARENT_NODE

#define MPACK_PARENT_NODE (   n)    (((n) - 1)->pos == (size_t)-1 ? NULL : (n) - 1)

◆ MPACK_PARSER_STRUCT

#define MPACK_PARSER_STRUCT (   c)
Value:
struct { \
mpack_data_t data; \
mpack_uint32_t size, capacity; \
int status; \
int exiting; \
mpack_tokbuf_t tokbuf; \
mpack_node_t items[c + 1]; \
}

◆ MPACK_PARSER_STRUCT_SIZE

#define MPACK_PARSER_STRUCT_SIZE (   c)
Value:
(sizeof(mpack_node_t) * c + \
sizeof(mpack_one_parser_t))

◆ MPACK_THROW

#define MPACK_THROW (   parser)
Value:
do { \
parser->status = MPACK_EXCEPTION; \
return; \
} while (0)

Typedef Documentation

◆ mpack_node_t

typedef struct mpack_node_s mpack_node_t

◆ mpack_walk_cb

typedef void(* mpack_walk_cb) (mpack_parser_t *w, mpack_node_t *n)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MPACK_EXCEPTION 
MPACK_NOMEM 

Function Documentation

◆ mpack_parse()

MPACK_API int MPACK_API int MPACK_API int mpack_parse ( mpack_parser_t *  parser,
const char **  b,
size_t *  bl,
mpack_walk_cb  enter_cb,
mpack_walk_cb  exit_cb 
)

◆ mpack_parse_tok()

MPACK_API int mpack_parse_tok ( mpack_parser_t *  walker,
mpack_token_t  tok,
mpack_walk_cb  enter_cb,
mpack_walk_cb  exit_cb 
)

◆ mpack_parser_copy()

MPACK_API int MPACK_API int MPACK_API int MPACK_API int MPACK_API void mpack_parser_copy ( mpack_parser_t *  d,
mpack_parser_t *  s 
)

◆ mpack_parser_init()

MPACK_API void mpack_parser_init ( mpack_parser_t *  p,
mpack_uint32_t  c 
)

◆ MPACK_PARSER_STRUCT() [1/2]

typedef MPACK_PARSER_STRUCT ( )

◆ MPACK_PARSER_STRUCT() [2/2]

typedef MPACK_PARSER_STRUCT ( MPACK_MAX_OBJECT_DEPTH  )

◆ mpack_unparse()

MPACK_API int MPACK_API int MPACK_API int MPACK_API int mpack_unparse ( mpack_parser_t *  parser,
char **  b,
size_t *  bl,
mpack_walk_cb  enter_cb,
mpack_walk_cb  exit_cb 
)

◆ mpack_unparse_tok()

MPACK_API int MPACK_API int mpack_unparse_tok ( mpack_parser_t *  walker,
mpack_token_t tok,
mpack_walk_cb  enter_cb,
mpack_walk_cb  exit_cb 
)
size
size_t size
Definition: regexp_nfa.c:5109
MPACK_EXCEPTION
@ MPACK_EXCEPTION
Definition: object.h:20
mpack_node_t
struct mpack_node_s mpack_node_t