/* * buffer.h * $Id$ */ #ifndef __BUFFER_H_ #define __BUFFER_H_ struct buffer { char *buf; size_t len; size_t size; size_t pos; }; struct buffer *buffer_new(size_t); void buffer_free(struct buffer *); char *buffer_buf(struct buffer *); size_t buffer_len(struct buffer *); size_t buffer_size(struct buffer *); void buffer_ensure_size(struct buffer *, size_t); void buffer_set(struct buffer *, char *, size_t); void buffer_append(struct buffer *, char *, size_t); void buffer_cpy(struct buffer *, char *); void buffer_cat(struct buffer *, char *); int buffer_cat_file(struct buffer *, char *, ...); int buffer_cat_pipe(struct buffer *, char *, ...); int buffer_seek(struct buffer *, size_t); size_t buffer_tell(struct buffer *); int buffer_eof(struct buffer *); char buffer_peek_char(struct buffer *); char buffer_scan_char(struct buffer *); int buffer_compare(struct buffer *, char *); int buffer_expect(struct buffer *, char *); void buffer_push(struct buffer *, void *, size_t); int buffer_pop(struct buffer *, void *, size_t); #endif /* !__BUFFER_H_ */