#ifndef BTPD_IOBUF_H #define BTPD_IOBUF_H struct io_buffer { size_t buf_off; size_t buf_len; char *buf; int error; }; int buf_init(struct io_buffer *iob, size_t size); int buf_grow(struct io_buffer *iob, size_t size); int buf_write(struct io_buffer *iob, const void *data, size_t size); int buf_print(struct io_buffer *iob, const char *fmt, ...); #define buf_swrite(iob, s) buf_write(iob, s, sizeof(s) - 1) #endif