cbsi/buffer.h

41 rader
907 B
C

/**
* @PROJECT CGI Bash Shell Interface
* @COPYRIGHT See COPYING in the top level directory
* @FILE buffer.h
* @PURPOSE CBSI Buffers
* @DEVELOPERS Nathan Angelacos <nangel@users.sourceforge.net>
* Rafal Kupiec <belliash@asiotec.eu.org>
*/
#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