41 rivejä
907 B
C
41 rivejä
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
|