1 #define EOF (-1) 2 #define NBUF 512 3 4 struct io{ 5 int fd; 6 uchar *bufp, *ebuf, *strp; 7 uchar buf[NBUF]; 8 uchar output; /* flag */ 9 }; 10 io *err; 11 12 io *openfd(int), *openstr(void), *opencore(char *, int); 13 int emptybuf(io*); 14 void pchr(io*, int); 15 int rchr(io*); 16 int rutf(io*, char*, Rune*); 17 void rewind(io*); 18 void closeio(io*); 19 void flush(io*); 20 int fullbuf(io*, int); 21 void pdec(io*, int); 22 void poct(io*, unsigned); 23 void pptr(io*, void*); 24 void pquo(io*, char*); 25 void pwrd(io*, char*); 26 void pstr(io*, char*); 27 void pcmd(io*, tree*); 28 void pval(io*, word*); 29 void pfnc(io*, thread*); 30 void pfmt(io*, char*, ...); 31