s/qmail  3.3.23
Next generation secure email transport
substdio.h
Go to the documentation of this file.
1 #ifndef SUBSTDIO_H
2 #define SUBSTDIO_H
3 
4 typedef struct substdio {
5  char *x;
6  int p;
7  int n;
8  int fd;
9  int (*op)();
10 } substdio;
11 
12 #define SUBSTDIO_FDBUF(op,fd,buf,len) { (buf), 0, (len), (fd), (op) }
13 
14 void substdio_fdbuf();
15 
16 int substdio_flush();
17 int substdio_put();
18 int substdio_bput();
19 int substdio_putflush();
20 int substdio_puts();
21 int substdio_bputs();
22 int substdio_putsflush();
23 
24 int substdio_get();
25 int substdio_bget();
26 int substdio_feed();
27 
28 char *substdio_peek();
29 void substdio_seek();
30 
31 #define substdio_fileno(s) ((s)->fd)
32 
33 #define SUBSTDIO_INSIZE 8192
34 #define SUBSTDIO_OUTSIZE 8192
35 
36 #define substdio_PEEK(s) ( (s)->x + (s)->n )
37 #define substdio_SEEK(s,len) ( ( (s)->p -= (len) ) , ( (s)->n += (len) ) )
38 
39 #define substdio_BPUTC(s,c) \
40  ( ((s)->n != (s)->p) \
41  ? ( (s)->x[(s)->p++] = (c), 0 ) \
42  : substdio_bput((s),&(c),1) \
43  )
44 
45 int substdio_copy();
46 
47 #endif
int substdio_feed()
int substdio_copy()
int substdio_get()
struct substdio substdio
int fd
Definition: substdio.h:8
int substdio_puts()
void substdio_fdbuf()
int substdio_putflush()
int substdio_bget()
char * substdio_peek()
int substdio_bputs()
int substdio_bput()
int substdio_put()
int substdio_putsflush()
int n
Definition: substdio.h:7
int substdio_flush()
int(* op)()
Definition: substdio.h:9
char * x
Definition: substdio.h:5
int p
Definition: substdio.h:6
void substdio_seek()