Annotation of cci/d/ioex/cyconf.h, revision 1.1

1.1     ! root        1: 
        !             2: /*
        !             3:  * Provide about n microseconds of delay
        !             4: */
        !             5: #define        DELAY(n)        { register int N = (n); while (--N > 0); }
        !             6: 
        !             7: #define IOBASE         0xff000000
        !             8: #define PGSHIFT                10
        !             9: #define TBASE          0xff4000
        !            10: #define ATT_ADR                0xffff4000      /* Channel attention address */
        !            11: #define SCP_ADR                0xc06           /* System Conf. pointer address */
        !            12: #define TM_BSIZE       (1024)          /* Block size on Cypher */
        !            13: #define CYVEC          0x80            /* Cypher interrupt vector to TAHOE */
        !            14: #define        RETRY           1000
        !            15: 
        !            16: 
        !            17: struct scp     /* SYSTEM CONFIGUREATION POINTER */
        !            18: {
        !            19:   char sysbus ;                /* width of system buss 0=8;1=16 */
        !            20:   char nu1 ;
        !            21:   char pt_scb[4] ;     /* pointer to ->SYSTEM CONFIGUREATION BLOCK */
        !            22: };
        !            23: 
        !            24: struct scb     /* System conf. block */
        !            25: {
        !            26:  char sysblk;
        !            27:  char nu2;
        !            28:  char pt_ccb[4];
        !            29: };
        !            30: 
        !            31: struct ccb     /* CHANNEL CONTROL BLOCK */
        !            32: {
        !            33:   char ccw ;           /* 0x11 normal; 0x09 clear non_vect interrupt */
        !            34:   char gate;           /* This is "the" GATE */
        !            35:   char pt_tpb[4] ;     /* pointer to ->TAPE OPERATION BLOCK or MOVE BLOCK */
        !            36: };
        !            37: 
        !            38: 
        !            39: 
        !            40: struct tpb     /* TAPE OPERATIONS PARAMETER BLOCK */
        !            41: {
        !            42:   long cmd ;                   /* COMMAND (input) */
        !            43:   char control[2] ;            /* CONTROL (input) */
        !            44:   unsigned short count ;       /* RETURN COUNT (output) */
        !            45:   unsigned short size ;                /* BUFFER SIZE (input/output) */
        !            46:   unsigned short rec_over ;    /* RECORDS/OVERRUN (input/output) */
        !            47:   char pt_data[4] ;            /* pointer to ->SOURCE/DEST (input) */
        !            48:   char status[2];              /* STATUS (output) */
        !            49:   char pt_link[4] ;    /* pointer to INTERRUPT/PARAMETER BLOCK (input) */
        !            50:   unsigned short unused[3];
        !            51: };
        !            52: 
        !            53: struct tpblk   /* TAPE PARAMETER BLOCK for block move operation */
        !            54: {
        !            55:   long cmd ;                   /* COMMAND (input) */
        !            56:   char control[2] ;            /* CONTROL (input) */
        !            57:   unsigned short count ;       /* RETURN COUNT (output) */
        !            58:   char source[4] ;             /* pointer to source */
        !            59:   char dest[4] ;               /* pointer to Destination */
        !            60:   unsigned short mask;         /* Mask/Stat search */
        !            61:   unsigned short intr[2];      /* Interrupt */
        !            62:   unsigned short table[2];     /* table */
        !            63:   unsigned short throttle;     /* throttle word */
        !            64: };
        !            65: 
        !            66: 
        !            67: struct tmbuf
        !            68:        { char byte[TM_BSIZE]; 
        !            69:        } cybuf;
        !            70: 

unix.superglobalmegacorp.com

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