|
|
1.1 root 1: /* io.h - fgetc, fputc, getchar, isbaddev, putchar */
2:
3:
1.1.1.2 ! root 4: #define INTVECI inint /* input interrupt dispatch routine */
! 5: #define INTVECO outint /* output interrupt dispatch routine */
! 6: extern int INTVECI();
! 7: extern int INTVECO();
1.1 root 8:
9: struct intmap { /* device-to-interrupt routine mapping */
10: int (*iin)(); /* address of input interrupt routine */
11: int icode; /* argument passed to input routine */
12: int (*iout)(); /* address of output interrupt routine */
13: int ocode; /* argument passed to output routine */
14: };
15:
16: #ifdef NDEVS
17: extern struct intmap intmap[NDEVS];
18: #define isbaddev(f) ( (f)<0 || (f)>=NDEVS )
19: #endif
20:
21: /* In-line I/O procedures */
22:
23: #define getchar() getc(CONSOLE)
24: #define putchar(ch) putc(CONSOLE,(ch))
25: #define fgetc(unit) getc((unit))
26: #define fputc(unit,ch) putc((unit),(ch))
1.1.1.2 ! root 27:
! 28: struct vector {
! 29: char *vproc; /* address of interrupt procedure */
! 30: WORD vps; /* saved process status word */
! 31: };
! 32:
! 33: extern struct vector disptab[64];
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.