365 void (*
binary)(
const char *data,
size_t len);
Implementation of a fast stack with smart memory management.
sexp_t * read_one_sexp(sexp_iowrap_t *iow)
void destroy_iowrap(sexp_iowrap_t *iow)
sexp_iowrap_t * init_iowrap(int fd)
struct sexp_iowrap sexp_iowrap_t
sexp_t * parse_sexp(char *s, size_t len)
pcont_t * cparse_sexp(char *s, size_t len, pcont_t *pc)
sexp_t * iparse_sexp(char *s, size_t len, pcont_t *cc)
sexp_errcode_t set_parser_buffer_params(size_t ss, size_t gs)
sexp_t * new_sexp_list(sexp_t *l)
int print_sexp_cstr(CSTRING **s, const sexp_t *e, size_t ss)
pcont_t * init_continuation(char *str)
void sexp_t_deallocate(sexp_t *s)
atom_t
Definition: sexp.h:170
@ SEXP_BASIC
Definition: sexp.h:174
@ SEXP_DQUOTE
Definition: sexp.h:186
@ SEXP_SQUOTE
Definition: sexp.h:180
@ SEXP_BINARY
Definition: sexp.h:192
elt_t
Definition: sexp.h:139
@ SEXP_LIST
Definition: sexp.h:150
@ SEXP_VALUE
Definition: sexp.h:144
sexp_errcode_t sexp_errno
int print_sexp(char *loc, size_t size, const sexp_t *e)
void print_pcont(pcont_t *pc, char *buf, size_t buflen)
sexp_t * new_sexp_binary_atom(char *data, size_t binlength)
void destroy_sexp(sexp_t *s)
void destroy_continuation(pcont_t *pc)
parsermode_t
Definition: sexp.h:303
@ PARSER_EVENTS_ONLY
Definition: sexp.h:324
@ PARSER_INLINE_BINARY
Definition: sexp.h:313
@ PARSER_NORMAL
Definition: sexp.h:307
struct parser_event_handlers parser_event_handlers_t
sexp_t * new_sexp_atom(const char *buf, size_t bs, atom_t aty)
sexp_t * sexp_t_allocate(void)
Error conditions are enumerated here along with any routines for translating error codes to human rea...
sexp_errcode_t
Definition: sexp_errors.h:53
Wrappers around basic memory allocation/deallocation routines to allow memory usage limiting....
A collection of useful operations to perform on s-expressions.
struct elt * next
Definition: sexp.h:269
char * val
Definition: sexp.h:246
size_t val_used
Definition: sexp.h:256
atom_t aty
Definition: sexp.h:280
size_t val_allocated
Definition: sexp.h:251
struct elt * list
Definition: sexp.h:262
elt_t ty
Definition: sexp.h:239
size_t binlength
Definition: sexp.h:296
char * bindata
Definition: sexp.h:291
void(* start_sexpr)()
Definition: sexp.h:343
void(* end_sexpr)()
Definition: sexp.h:349
void(* binary)(const char *data, size_t len)
Definition: sexp.h:365
void(* characters)(const char *data, size_t len, atom_t aty)
Definition: sexp.h:357
parser_event_handlers_t * event_handlers
Definition: sexp.h:528
char * val
Definition: sexp.h:413
unsigned int esc
Definition: sexp.h:470
unsigned int state
Definition: sexp.h:463
size_t val_used
Definition: sexp.h:423
size_t binexpected
Definition: sexp.h:509
unsigned int depth
Definition: sexp.h:450
size_t binread
Definition: sexp.h:514
sexp_errcode_t error
Definition: sexp.h:483
unsigned int squoted
Definition: sexp.h:476
char * vcur
Definition: sexp.h:429
size_t val_allocated
Definition: sexp.h:418
faststack_t * stack
Definition: sexp.h:399
unsigned int qdepth
Definition: sexp.h:456
parsermode_t mode
Definition: sexp.h:498
sexp_t * last_sexp
Definition: sexp.h:408
char * lastPos
Definition: sexp.h:437
char * sbuffer
Definition: sexp.h:444
char * bindata
Definition: sexp.h:519
int fd
Definition: sexp.h:549
pcont_t * cc
Definition: sexp.h:543
size_t cnt
Definition: sexp.h:560
char buf[BUFSIZ]
Definition: sexp.h:554
Definition: faststack.h:78