00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef STRINGBUFFER_H
00022 #define STRINGBUFFER_H
00023
00024 #include <stdlib.h>
00025
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029
00030 struct stringbuffer_s;
00031 typedef struct stringbuffer_s stringbuffer_t;
00032 typedef int* (*stringbuffer_filter_t)(void* state, char toFilter, int* spaceForChar);
00033
00034 stringbuffer_t* stringbuffer_new(char* data, size_t len);
00035 stringbuffer_t* stringbuffer_reset(stringbuffer_t* buf, char* data, size_t len);
00036 int stringbuffer_read(stringbuffer_t* buf);
00037 stringbuffer_t* stringbuffer_rewind(stringbuffer_t* buf, size_t rewindLen);
00038 void stringbuffer_delete(stringbuffer_t* buf);
00039 char* stringbuffer_getData(stringbuffer_t* buf);
00040 size_t stringbuffer_getLen(stringbuffer_t* buf);
00041 size_t stringbuffer_getIndex(stringbuffer_t* buf);
00042 stringbuffer_t* stringbuffer_filter(void* state, stringbuffer_filter_t filterFunction, stringbuffer_t* toFilter);
00043
00044 #ifdef __cplusplus
00045 }
00046 #endif
00047
00048 #endif