Annotation of cci/d/pits/vioc.h, revision 1.1

1.1     ! root        1: #define VIOC_X 1
        !             2: #define VIOC_B 2
        !             3: 
        !             4: #define        V_CMDI  0               /* send command */
        !             5: #define V_CMDRI 1              /* let vioc process next cmd */
        !             6: #define V_URESP 2              /* response to unsolicited command */
        !             7: #define V_RESET 1              /* cause a vioc reset */
        !             8: #define V_TRP  2               /* cause a vioc trap */
        !             9: #define V_INTR 4               /* cause a vioc interrupt */
        !            10: #define V_ERR  0x80            /* generic error flag */
        !            11: #define C_ERR  0xf000          /* Command error mask */
        !            12: #define V_BSY  0x80            /* generic busy flag */
        !            13: #define V_UNBSY        0x80            /* not busy for unsolicited interrupt */
        !            14: 
        !            15: #define V_RDY  0xa             /* Vioc ready after reset */
        !            16: #define V_ALLOK 0x55           /* VIOC passed internal diagnostic */
        !            17: #define V_BAD   0x02           /* VIOC failed internal diagnostic */
        !            18: #define V_P1BAD 0x03           /* Connector panel #1 is bad */
        !            19: #define V_P2BAD 0x03           /* Connector panel #2 is bad */
        !            20: 
        !            21: #define VSPEED  7              /* standard speed is 300 baud */
        !            22: #define        VCVECT  64 ;            /* base vioc vector */
        !            23: 
        !            24: #define NVXPORTS 8             /* Total nbr of viocx terminal ports */
        !            25: #define VXLEN 05               /* essentially the nbr of pending "reads" */
        !            26: #define        VIDENT 0x3FE            /* vioc ident displacement into vblok */
        !            27: #define        VREADY 0x55             /* denotes no err in vioc self-initializaton */
        !            28: #define        FAULT 0x400
        !            29: #define FECPNBR 1
        !            30: #define V_REVNBR 040
        !            31: 
        !            32: #define VRESPLEN 0100
        !            33: #define VCMDLEN 16
        !            34: #define VC_IQLEN 16            /* Interrupt circular queue length */
        !            35: 
        !            36: #define VIOCX  0xa             /* identifies viocx in v_ident */
        !            37: #define SSPEED 13              /* standard speed 9600 bps */
        !            38: #define MDMCTL         0x1000          /* modem control for port */
        !            39: #define        V_MAN   0x83            /* man + DTR + RTS */
        !            40: #define        V_AUTO  0x02            /* auto + DTR */
        !            41: #define V_RTS  0x01            /* assert RTS */
        !            42: #define V_DISAB        0x80            /* manual + disable DTR and RTS */
        !            43: 
        !            44: #define BRK_CHR        040
        !            45: #define DCD_ON 020
        !            46: #define DCD_OFF        010
        !            47: #define        CTS_ON  004
        !            48: 
        !            49: #define SILOBAS 0x800+VIOCBAS
        !            50: #define NVIOCXLIN 16           /* nbr lines per vioc-x */
        !            51: #define        VSILTIM 10              /* silo timount value,10=100msec */
        !            52: #define NVCXBUFS 16            /* number of command buffers */
        !            53: #define LIDENT 0x0000          /* load ident, set int vectors */
        !            54: #define LSILOA 0x0100          /* set silos */
        !            55: #define XMITDTA        0x0200          /* transmit */
        !            56: #define FDTATOX        0x0300          /* flush data */
        !            57: #define XMITIMM        0x0400          /* Transmit immediate */
        !            58: #define LPAR_N         0x0500          /* Load new parameter */
        !            59: #define        DXMODEX 0x0504          /* disable xon,xoff */
        !            60: #define        LPARAX  0x0600          /* load params */
        !            61: #define RPARALX        0x0700          /* request params from viocx */
        !            62: #define AUTOLP 0x0900          /* auto loop back /local echo  */
        !            63: #define SNDBRKX 0x0c00         /* send a break command to vioc */
        !            64: #define PERROR 0x40
        !            65: #define FERROR 0x80
        !            66: #define RCVOVRN        0xc0
        !            67: #define BUFLEN  100
        !            68: #define NVIOC  16              /* max no of VIOC being tested */
        !            69: #define RESMAXLEN      100
        !            70: #define CMDMAXLEN      10
        !            71: 
        !            72: /*
        !            73:  * Data Structures
        !            74:  */
        !            75: 
        !            76: struct vblok   {               /* Common buffer seen by HOST */
        !            77:        char    v_vioc;         /*  type of interrupt + voic bsy flg */
        !            78:        char    v_hdwre;        /*  trap, reset, or hard interrupt */
        !            79: 
        !            80:        char    v_vcbsy;        /*  command busy (set by host) */
        !            81:        char    v_vcid;         /*  command id. */
        !            82: 
        !            83:        short   v_vcp0;         /*  command address, high byte (sent by HOST) */
        !            84:        short   v_vcp1;         /*  command address, low byte (sent by HOST) */
        !            85: 
        !            86:        short   not_used;
        !            87:        short   v_rsp;          /* Offset to VIOC_BASE (ffx000) */
        !            88:                                /* Respond buff. addr = (VIOC_BASE + v_rsp) */
        !            89: 
        !            90:        char    v_ustat;        /* Unsolicited status */
        !            91:        char    v_uqual;        /* qualifies of unsolicited interrupt */
        !            92: 
        !            93:        char    v_usdata[0x3E] ;  /* unsolicited interrupt data */
        !            94:        
        !            95:        short   xmtsiz;         /* Max. Xmit block size; 0 = 1 byte */
        !            96:        short   rcvsilo;        /* Max rcv silo char no. (1 = 1 byte */
        !            97: 
        !            98:        char    v_ident;        /* VIOC identifier */
        !            99:        char    v_fault;        /* denotes fault or ready after reset */
        !           100: 
        !           101:        short   v_dcd;          /* f2 bit mask for carr detect by port */
        !           102:        short   v_cts;          /* f4 bit mask for cts by port */
        !           103: };
        !           104: 
        !           105: struct cmd_inp         /* Command input block */
        !           106: {
        !           107:        short opcode;   
        !           108:        char byte[CMDMAXLEN];
        !           109: };
        !           110: 
        !           111: struct cmd_res         /* Command respond block */
        !           112: {
        !           113:        char stat;      /* Respond status */
        !           114:        char id;        /* Identification code */
        !           115:        struct cmd_inp; /* Command input block */
        !           116:        char byte[RESMAXLEN];
        !           117: };
        !           118: 
        !           119: struct vbuf  {
        !           120:        long cnt;       /* no. of chars in buffer */
        !           121:        long nxt_c;     /* reader's pointer       */
        !           122:        long nxt_fill;  /* writer's pointer       */
        !           123:        char buf[BUFLEN];/* and the buffer itself */
        !           124: };
        !           125: 
        !           126: struct vbuf vi_buf[NVIOC*16];

unix.superglobalmegacorp.com

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