/* buffer.h: Declarations for C-- buffers. */ #ifndef BUFFER_H #define BUFFER_H typedef struct buffer Buffer; #include "list.h" struct buffer { int len; int refs; unsigned char s[1]; }; Buffer *buffer_new(int len); Buffer *buffer_dup(Buffer *buf); void buffer_discard(Buffer *buf); Buffer *buffer_append(Buffer *buf1, Buffer *buf2); int buffer_retrieve(Buffer *buf, int pos); Buffer *buffer_replace(Buffer *buf, int pos, unsigned int c); Buffer *buffer_add(Buffer *buf, unsigned int c); int buffer_len(Buffer *buf); Buffer *buffer_truncate(Buffer *buf, int len); List *buffer_to_strings(Buffer *buf, Buffer *sep); Buffer *buffer_from_strings(List *string_list, Buffer *sep); #endif