|
|
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.