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