buffer_t
get_ ## typ(buffer_t *b, int index) \
do_ ## nm(buffer_t *buf, int index) \
do_ascii(buffer_t *buf, int index)
do_char(buffer_t *buf, int index)
refill(buffer_t *b)
buffer_t buffer;
void (*func)(buffer_t *, int); /* output function */
buffer_t buffer;