Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Related Pages

ibuf.h

00001 #ifndef IO_BUF__IBUF__H__ 00002 #define IO_BUF__IBUF__H__ 00003 00004 #include <iobuf/common.h> 00005 00010 typedef int (*ibuf_fn)(int, void*, unsigned long); 00011 00013 struct ibuf 00014 { 00016 iobuf io; 00018 unsigned count; 00020 ibuf_fn readfn; 00021 }; 00022 typedef struct ibuf ibuf; 00023 00024 extern ibuf inbuf; 00025 00026 int ibuf_init(ibuf* in, int fd, ibuf_fn fn, unsigned flags, unsigned bufsize); 00027 int ibuf_open(ibuf* in, const char* filename, unsigned bufsize); 00028 int ibuf_eof(ibuf* in); 00030 #define ibuf_close(in) iobuf_close(&((in)->io)) 00031 00032 #define ibuf_closed(in) iobuf_closed(&((in)->io)) 00033 00034 #define ibuf_error(in) iobuf_error(&((in)->io)) 00035 00036 #define ibuf_timedout(in) iobuf_timedout(&((in)->io)) 00037 int ibuf_refill(ibuf* in); 00038 int ibuf_read_large(ibuf* in, char* data, unsigned datalen); 00039 int ibuf_read(ibuf* in, char* data, unsigned datalen); 00040 unsigned ibuf_tell(ibuf* in); 00041 int ibuf_seek(ibuf* in, unsigned offset); 00043 #define ibuf_rewind(in) ibuf_seek(in,0) 00044 00045 #define ibuf_seekfwd(in,off) ibuf_seek(ibuf_tell(in)+(offset)) 00046 00047 int ibuf_peek(ibuf* in, char* ch); 00048 int ibuf_getc(ibuf* in, char* ch); 00049 int ibuf_getu(ibuf* in, unsigned long* data); 00050 int ibuf_gets(ibuf* in, char* data, unsigned datalen, char boundary); 00051 int ibuf_getstr(ibuf* in, struct str* s, char boundary); 00052 int ibuf_getstr_crlf(ibuf* in, struct str* s); 00053 int ibuf_getnetstring(ibuf* in, struct str* s); 00054 int ibuf_readall(ibuf* in, struct str* s); 00055 int ibuf_openreadclose(const char* filename, struct str* s); 00056 /* @} */ 00057 00058 #endif

Generated on Mon Nov 15 14:50:26 2004 for bglibs by doxygen 1.3.8