2013-06-16 08:25:12 -05:00
|
|
|
#ifndef _JQ_H_
|
|
|
|
#define _JQ_H_
|
2012-09-18 22:17:13 +01:00
|
|
|
|
2013-11-30 02:05:42 -06:00
|
|
|
#include <stdio.h>
|
2013-06-16 08:25:12 -05:00
|
|
|
#include <jv.h>
|
2013-05-06 14:21:00 +01:00
|
|
|
|
2013-05-05 23:12:10 +01:00
|
|
|
enum {JQ_DEBUG_TRACE = 1};
|
2013-04-28 18:33:45 -05:00
|
|
|
|
2013-06-16 08:25:12 -05:00
|
|
|
typedef struct jq_state jq_state;
|
2013-11-30 02:05:42 -06:00
|
|
|
typedef void (*jq_err_cb)(void *, jv);
|
|
|
|
|
2013-06-06 17:26:15 -05:00
|
|
|
jq_state *jq_init(void);
|
2013-11-30 02:05:42 -06:00
|
|
|
void jq_set_error_cb(jq_state *, jq_err_cb, void *);
|
|
|
|
void jq_get_error_cb(jq_state *, jq_err_cb *, void **);
|
2013-06-06 17:26:15 -05:00
|
|
|
void jq_set_nomem_handler(jq_state *, void (*)(void *), void *);
|
2013-06-16 08:25:12 -05:00
|
|
|
int jq_compile(jq_state *, const char* str);
|
|
|
|
int jq_compile_args(jq_state *, const char* str, jv args);
|
|
|
|
void jq_dump_disassembly(jq_state *, int);
|
2013-06-06 17:26:15 -05:00
|
|
|
void jq_start(jq_state *, jv value, int flags);
|
2013-04-28 18:33:45 -05:00
|
|
|
jv jq_next(jq_state *);
|
|
|
|
void jq_teardown(jq_state **);
|
2012-09-18 22:17:13 +01:00
|
|
|
|
2013-06-16 08:25:12 -05:00
|
|
|
#endif /* !_JQ_H_ */
|