14 #include <dbCoreAPI.h>
25 DBCORE_API
extern const char *jlif_result_name[2];
28 jlif_key_stop = jlif_stop,
29 jlif_key_continue = jlif_continue,
30 jlif_key_child_inlink, jlif_key_child_outlink, jlif_key_child_fwdlink
33 DBCORE_API
extern const char *jlif_key_result_name[5];
47 typedef long (*jlink_map_fn)(
jlink *,
void *ctx);
58 jlink* (*alloc_jlink)(
short dbfType);
61 void (*free_jlink)(jlink *);
64 jlif_result (*parse_null)(jlink *);
67 jlif_result (*parse_boolean)(jlink *,
int val);
70 jlif_result (*parse_integer)(jlink *,
long long num);
73 jlif_result (*parse_double)(jlink *,
double num);
76 jlif_result (*parse_string)(jlink *,
const char *val,
size_t len);
79 jlif_key_result (*parse_start_map)(jlink *);
85 jlif_result (*parse_map_key)(jlink *,
const char *key,
size_t len);
88 jlif_result (*parse_end_map)(jlink *);
91 jlif_result (*parse_start_array)(jlink *);
94 jlif_result (*parse_end_array)(jlink *);
97 void (*end_child)(jlink *parent, jlink *child);
102 struct lset* (*get_lset)(
const jlink *);
105 void (*report)(
const jlink *,
int level,
int indent);
112 long (*map_children)(jlink *, jlink_map_fn rtn,
void *ctx);
117 void (*start_child)(jlink *parent, jlink *child);
128 DBCORE_API
long dbJLinkParse(
const char *json,
size_t len,
short dbfType,
130 DBCORE_API
long dbJLinkInit(
struct link *plink);
132 DBCORE_API
void dbJLinkFree(jlink *);
133 DBCORE_API
void dbJLinkReport(jlink *,
int level,
int indent);
135 DBCORE_API
long dbJLinkMapChildren(
struct link *,
136 jlink_map_fn rtn,
void *ctx);
138 DBCORE_API
long dbjlr(
const char *recname,
int level);
139 DBCORE_API
long dbJLinkMapAll(
char *recname, jlink_map_fn rtn,
void *ctx);
Link Support Entry Table.