9typedef struct SSDNode SSDNode;
10typedef struct SSDTree SSDTree;
#define saDeclareType(name, typ)
SSDNode * jsonParseTree(StreamBuffer *sb)
SSDNode * jsonTreeFromString(strref str)
bool jsonParseInit(JSONParseState *state, StreamBuffer *sb)
void jsonParseDestroy(JSONParseState *state)
SSDNode * jsonParseTreeCustom(StreamBuffer *sb, SSDTree *tree)
void jsonParsePush(JSONParseState *state, JSONParseEvent *ev)
void(* jsonParseCB)(JSONParseEvent *ev, void *userdata)
bool jsonParse(StreamBuffer *sb, jsonParseCB callback, void *userdata)
JSONParseEvent * jsonParseNext(JSONParseState *state)
Common types for JSON parsing and output.
Dynamic arrays with type-safe generic programming.
JSONParseContext * ctx
Top of context stack.
bool success
true if parsing completed without error
int depth
Current nesting depth.
int line
Current line number (starts at 1)
JSONParseEvent ev
Current event (valid until next jsonParseNext call)
StreamBuffer * sb
Stream buffer being parsed.
sa_JSONParseEvent queued
Queue of events to deliver before parsing new ones.