47#define odr_max(o) ((o)->op->size - ((o)->op->bp - (o)->op->buf))
78#define ODR_MAX_STACK 2000
104 const char *
buf,
int len);
118#define ODR_STACK_POP(x) ((x)->op->stack_top = (x)->op->stack_top->prev, (x)->op->stack_depth--)
119#define ODR_STACK_EMPTY(x) (!(x)->op->stack_top)
120#define ODR_STACK_NOT_EMPTY(x) ((x)->op->stack_top)
122#define odr_tell(o) ((o)->op->pos)
130#define odr_putc(o, c) \
133 (o)->op->pos < (o)->op->size ? \
135 (o)->op->buf[(o)->op->pos++] = (c), \
139 odr_grow_block((o), 1) == 0 ? \
141 (o)->op->buf[(o)->op->pos++] = (c), \
145 (o)->error = OSPACE, \
151 (o)->op->pos > (o)->op->top ? \
153 (o)->op->top = (o)->op->pos, \
Header for ODR (Open Data Representation).
Utility structure used by ber_tag.
void(*) stream_close(void *handle)
struct odr_constack * stack_top
void(*) stream_write(ODR o, void *handle, int type, const char *buf, int len)
const char ** tmp_names_buf
struct odr_constack * stack_first
struct Odr_ber_tag odr_ber_tag
stack for BER constructed items
struct odr_constack * prev
struct odr_constack * next
struct yaz_iconv_struct * yaz_iconv_t
yaz_iconv handle (similar to iconv_t)
Header for common YAZ utilities.