1 #ifndef _AF_DOCBUF_H 2 #define _AF_DOCBUF_H 3 4 #include <unistd.h> 5 #include <sys/types.h> 6 #include <sys/stat.h> 7 #include "config.h" 8 9 typedef struct { 10 int eof; /* flag, turned on once all the data have been traversed */ 11 ssize_t index; /* index of next character to read */ 12 ssize_t data_len; /* length of data within buf */ 13 long buf_size; /* total capacity of buf */ 14 unsigned char* buf; /* input buffer */ 15 int filedes; /* file descriptor */ 16 ETYMON_AF_STAT st; /* stat structure */ 17 char* fn; /* input file name */ 18 } ETYMON_DOCBUF; 19 20 unsigned char etymon_docbuf_next_char(ETYMON_DOCBUF* docbuf); 21 22 void etymon_docbuf_load_page(ETYMON_DOCBUF* docbuf); 23 24 unsigned char etymon_docbuf_next_char_peek(ETYMON_DOCBUF* docbuf); 25 26 unsigned char etymon_docbuf_next_char(ETYMON_DOCBUF* docbuf); 27 28 int etymon_docbuf_next_word(ETYMON_DOCBUF* docbuf, unsigned char* word); 29 30 #endif 31