bglibs
bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/ibuf.h
1#ifndef IO_BUF__IBUF__H__
2#define IO_BUF__IBUF__H__
3
4#include "iobuf_common.h"
5
16typedef int (*ibuf_fn)(int, void*, unsigned long);
17
19struct ibuf
20{
22 iobuf io;
24 unsigned count;
27};
29typedef struct ibuf ibuf;
30
31extern ibuf inbuf;
32
33int ibuf_init(ibuf* in, int fd, ibuf_fn fn, unsigned flags, unsigned bufsize);
34int ibuf_open(ibuf* in, const char* filename, unsigned bufsize);
35int ibuf_eof(ibuf* in);
37#define ibuf_close(in) iobuf_close(&((in)->io))
39#define ibuf_closed(in) iobuf_closed(&((in)->io))
41#define ibuf_error(in) iobuf_error(&((in)->io))
43#define ibuf_timedout(in) iobuf_timedout(&((in)->io))
44int ibuf_refill(ibuf* in);
45int ibuf_read_large(ibuf* in, char* data, unsigned datalen);
46int ibuf_read(ibuf* in, char* data, unsigned datalen);
47unsigned ibuf_tell(ibuf* in);
48int ibuf_seek(ibuf* in, unsigned offset);
50#define ibuf_rewind(in) ibuf_seek(in,0)
52#define ibuf_seekfwd(in,off) ibuf_seek(ibuf_tell(in)+(offset))
53
54int ibuf_peek(ibuf* in, char* ch);
55int ibuf_getc(ibuf* in, char* ch);
56int ibuf_getu(ibuf* in, unsigned long* data);
57int ibuf_gets(ibuf* in, char* data, unsigned datalen, char boundary);
58int ibuf_getstr(ibuf* in, struct str* s, char boundary);
59int ibuf_getstr_crlf(ibuf* in, struct str* s);
60int ibuf_getnetstring(ibuf* in, struct str* s);
61int ibuf_readall(ibuf* in, struct str* s);
62int ibuf_openreadclose(const char* filename, struct str* s);
65#endif
int ibuf_eof(ibuf *in)
Definition: ibuf_status.c:4
int ibuf_open(ibuf *in, const char *filename, unsigned bufsize)
Definition: ibuf_open.c:5
int(* ibuf_fn)(int, void *, unsigned long)
Definition: bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/ibuf.h:16
ibuf inbuf
Definition: ibuf_stdin.c:7
int ibuf_refill(ibuf *in)
Definition: ibuf_refill.c:11
int ibuf_getstr_crlf(ibuf *in, struct str *s)
Definition: ibuf_getstr_crlf.c:21
int ibuf_getu(ibuf *in, unsigned long *data)
Definition: ibuf_getu.c:4
int ibuf_getc(ibuf *in, char *ch)
Definition: ibuf_getc.c:4
int ibuf_getstr(ibuf *in, struct str *s, char boundary)
Definition: ibuf_getstr.c:5
int ibuf_read(ibuf *in, char *data, unsigned datalen)
Definition: ibuf_read.c:55
int ibuf_gets(ibuf *in, char *data, unsigned datalen, char boundary)
Definition: ibuf_gets.c:4
int ibuf_seek(ibuf *in, unsigned offset)
Definition: ibuf_seek.c:7
unsigned ibuf_tell(ibuf *in)
Definition: ibuf_tell.c:4
int ibuf_peek(ibuf *in, char *ch)
Definition: ibuf_peek.c:5
int ibuf_read_large(ibuf *in, char *data, unsigned datalen)
Definition: ibuf_read.c:13
int ibuf_openreadclose(const char *filename, struct str *s)
Definition: ibuf_openreadclose.c:5
int ibuf_readall(ibuf *in, struct str *s)
Definition: ibuf_readall.c:5
int ibuf_init(ibuf *in, int fd, ibuf_fn fn, unsigned flags, unsigned bufsize)
Definition: ibuf_init.c:5
int ibuf_getnetstring(ibuf *in, struct str *s)
Definition: ibuf_getnetstring.c:10
Definition: bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/ibuf.h:20
ibuf_fn readfn
Definition: bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/ibuf.h:26
unsigned count
Definition: bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/ibuf.h:24
iobuf io
Definition: bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/ibuf.h:22
Definition: bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/iobuf_common.h:49
Definition: bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/bglibs/str.h:31