|
|
1.1 root 1: #define EOF (-1)
2: #define pchr(b, c) ((b)->bufp==(b)->ebuf?fullbuf((b), (c)):(*(b)->bufp++=(c)))
3: #define rchr(b) ((b)->bufp==(b)->ebuf?emptybuf(b):(*(b)->bufp++&0xff))
4: #define NBUF 512
5: typedef struct io io;
6: struct io{
7: int fd;
8: char *bufp, *ebuf, *strp, buf[NBUF];
9: };
10: io *err;
11: io *openfd(int), *openstr(void), *opencore(char *, int);
12: int emptybuf(io*);
13: void closeio(io*);
14: void flush(io*);
15: int fullbuf(io*, int);
16: void pdec(io*, long);
17: void poct(io*, ulong);
18: void phex(io*, long);
19: void pquo(io*, char*);
20: void pwrd(io*, char*);
21: void pstr(io*, char*);
22: void pcmd(io*, tree*);
23: void pval(io*, word*);
24: void pfnc(io*, thread*);
25: void pfmt(io*, char*, ...);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.