/** * @PROJECT CGI Bash Shell Interface * @COPYRIGHT See COPYING in the top level directory * @FILE buffer.h * @PURPOSE CBSI Buffers * @DEVELOPERS Nathan Angelacos * Rafal Kupiec */ #ifndef __BUFFER_H #define __BUFFER_H typedef struct { unsigned char* data; unsigned char* ptr; unsigned char* limit; } buffer_t; typedef struct { int fh; unsigned char* buf; unsigned char* ptr; unsigned char* segment; size_t len; size_t maxsize; size_t bufsize; size_t maxread; size_t nrread; int eof; } sbuffer_t; void buffer_add(buffer_t* buf, const void* data, unsigned long size); void buffer_destroy(buffer_t* buf); void buffer_init(buffer_t* buf); void buffer_reset(buffer_t* buf); void sbuffer_destroy(sbuffer_t* sbuf); int sbuffer_init(sbuffer_t* sbuf, int size); int sbuffer_read(sbuffer_t* sbuf, char* matchstr); #endif