|
|
1.1 root 1:
2: /* EMACS_MODES: c !fill */
3:
4: #ifdef OWNER
5: #define EXTERN
6: #else
7: #define EXTERN extern
8: #endif
9:
10: #ifdef pdp11
11: #define BUFSIZ 512
12: #else
13: #define BUFSIZ 1024
14: #endif
15: extern struct iobuf {
16: int _cnt;
17: char *_ptr;
18: int _frn;
19: int _flags;
20: char _buf[BUFSIZ];
21: };
22:
23: /* values for _flags */
24:
25: #define _OUTPUT 01
26: #define _INPUT 02
27: #define _DEAD 04
28: #define _ERROR 010
29:
30: #ifdef v8
31: #undef NULL
32: #endif
33: #define NULL 0
34: #define FILE struct iobuf
35: #define EOF (-1)
36:
37: EXTERN int donttime;
38: EXTERN struct iobuf _stdout;
39: EXTERN int no_io; /* Flag to force off I/O */
40:
41: EXTERN int outproc; /* Process to send output to */
42: EXTERN int inproc; /* Process to receive input from */
43: EXTERN int procbuf; /* Buffer coupled to this. */
44: EXTERN int procpid;
45:
46: /* input buffer */
47:
48: #define INLOOK 1
49:
50:
51: EXTERN char *inbuf;
52: EXTERN char *inptr;
53: EXTERN int incnt;
54: EXTERN int infrn;
55: EXTERN int inlev;
56:
57: /* INPUT BUFFER STACK */
58:
59: #define NINP 32 /* levels of calls */
60: EXTERN char _inbuf[NINP] [INLOOK];
61: EXTERN int _incnt[NINP];
62: EXTERN char *_inptr[NINP];
63: EXTERN int _infrn[NINP];
64:
65: #define stdout (&_stdout)
66: #define putc(x,p) p->_buf[p->_cnt++] = (unsigned)(x);if (p->_cnt>=BUFSIZ) mflush(p)
67: #define putchar(x) putc(x,stdout)
68: #define getc(p) ((--((p)->_cnt)>=0)? *((p)->_ptr++)&0377:filbuf(p))
69: #define MOREIN (incnt)
70: #define Mgetchar(x) ((*inptr++) &0377)
71: /* function definitions */
72:
73: EXTERN FILE *xopen();
74: EXTERN FILE *fdopen();
75: EXTERN int filbuf();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.