Annotation of xinu/h/io.h, revision 1.1.1.2

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];

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.