| /* |
| * on Mac OS X, err is something else, |
| * and assigning to it causes a bus error. |
| * what a crappy linker. |
| */ |
| #define err rc_err |
| #define EOF (-1) |
| #define NBUF 512 |
| struct io{ |
| int fd; |
| char *bufp, *ebuf, *strp, buf[NBUF]; |
| }; |
| io *err; |
| io *openfd(int), *openstr(void), *opencore(char *, int); |
| int emptybuf(io*); |
| void pchr(io*, int); |
| int rchr(io*); |
| void closeio(io*); |
| void flush(io*); |
| int fullbuf(io*, int); |
| void pdec(io*, int); |
| void poct(io*, unsigned); |
| void pptr(io*, void*); |
| void pquo(io*, char*); |
| void pwrd(io*, char*); |
| void pstr(io*, char*); |
| void pcmd(io*, tree*); |
| void pval(io*, word*); |
| void pfnc(io*, thread*); |
| void pfmt(io*, char*, ...); |