Annotation of 42BSD/sys/vaxuba/dmfreg.h, revision 1.1

1.1     ! root        1: /*     dmfreg.h        6.1     83/07/29        */
        !             2: 
        !             3: /*
        !             4:  * DMF-32 definitions.
        !             5:  */
        !             6: 
        !             7: /*
        !             8:  * "dmf" (unqualified) refers to the async portion of the dmf32,
        !             9:  * "dmfc" to the combo portion,
        !            10:  * "dmfs" to the sync portion,
        !            11:  * "dmfl" to the lp portion, and
        !            12:  * "dmfd" to the dr portion.
        !            13:  */
        !            14: struct dmfdevice {
        !            15:        short   dmfccsr0;               /* combo csr 0 */
        !            16:        short   dmfccsr1;               /* combo csr 1 */
        !            17:        short   dmfs[4];
        !            18:        short   dmfcsr;                 /* control-status register */
        !            19:        short   dmflpr;                 /* line parameter register */
        !            20:        short   dmfrbuf;                /* receiver buffer (ro) */
        !            21:        union {
        !            22:                u_short dmfirw;         /* indirect register word */
        !            23:                u_char  dmfirc[2];      /*    "         "    bytes */
        !            24:        } dmfun;
        !            25:        short   dmfl[2];
        !            26:        short   dmfd[4];
        !            27: };
        !            28: 
        !            29: #define        dmfrsp  dmfrbuf         /* receive silo parameter register (wo) */
        !            30: #define        dmftbuf dmfun.dmfirc[0] /* transmit buffer */
        !            31: #define        dmftsc  dmfun.dmfirc[0] /* transmit silo count */
        !            32: #define        dmfrms  dmfun.dmfirc[1] /* receive modem status */
        !            33: #define        dmflcr  dmfun.dmfirc[0] /* line control register */
        !            34: #define        dmftms  dmfun.dmfirc[1] /* transmit modem status */
        !            35: #define        dmftba  dmfun.dmfirw    /* transmit buffer address */
        !            36: #define        dmftcc  dmfun.dmfirw    /* transmit character count */
        !            37: 
        !            38: /* bits in dmfcsr */
        !            39: #define        DMF_TI  0100000         /* transmit interrupt */
        !            40: #define        DMF_TIE 0040000         /* transmit interrupt enable */
        !            41: #define        DMF_NXM 0020000         /* non-existant memory */
        !            42: #define        DMF_LIN 0003400         /* transmit line number */
        !            43: #define        DMF_RI  0000200         /* receiver interrupt */
        !            44: #define        DMF_RIE 0000100         /* receiver interrupt enable */
        !            45: #define        DMF_CLR 0000040         /* master reset */
        !            46: #define        DMF_IAD 0000037         /* indirect address register */
        !            47: 
        !            48: #define        DMFIR_TBUF      000     /* select tbuf indirect register */
        !            49: #define        DMFIR_LCR       010     /* select lcr indirect register */
        !            50: #define        DMFIR_TBA       020     /* select tba indirect register */
        !            51: #define        DMFIR_TCC       030     /* select tcc indirect register */
        !            52: 
        !            53: /* bits in dmflpr */
        !            54: #define        BITS6   (01<<3)
        !            55: #define        BITS7   (02<<3)
        !            56: #define        BITS8   (03<<3)
        !            57: #define        TWOSB   0200
        !            58: #define        PENABLE 040
        !            59: #define        EPAR    0100
        !            60: 
        !            61: #define        DMF_IE  (DMF_TIE|DMF_RIE)
        !            62: 
        !            63: #define        DMF_SILOCNT     32              /* size of DMF output silo (per line) */
        !            64: 
        !            65: /* bits in dmfrbuf */
        !            66: #define        DMF_DSC         0004000         /* data set change */
        !            67: #define        DMF_PE          0010000         /* parity error */
        !            68: #define        DMF_FE          0020000         /* framing error */
        !            69: #define        DMF_DO          0040000         /* data overrun */
        !            70: 
        !            71: /* bits in dmfrms */
        !            72: #define        DMF_USRR        0004            /* user modem signal (pin 25) */
        !            73: #define        DMF_SR          0010            /* secondary receive */
        !            74: #define        DMF_CTS         0020            /* clear to send */
        !            75: #define        DMF_CAR         0040            /* carrier detect */
        !            76: #define        DMF_RNG         0100            /* ring */
        !            77: #define        DMF_DSR         0200            /* data set ready */
        !            78: 
        !            79: /* bits in dmftms */
        !            80: #define        DMF_USRW        0001            /* user modem signal (pin 18) */
        !            81: #define        DMF_DTR         0002            /* data terminal ready */
        !            82: #define        DMF_RATE        0004            /* data signal rate select */
        !            83: #define        DMF_ST          0010            /* secondary transmit */
        !            84: #define        DMF_RTS         0020            /* request to send */
        !            85: #define        DMF_BRK         0040            /* pseudo break bit */
        !            86: #define        DMF_PREEMPT     0200            /* preempt output */
        !            87: 
        !            88: /* flags for modem control */
        !            89: #define        DMF_ON  (DMF_DTR|DMF_RTS)
        !            90: #define        DMF_OFF 0
        !            91: 
        !            92: /* bits in dmflcr */
        !            93: #define        DMF_MIE         0040            /* modem interrupt enable */
        !            94: #define        DMF_FLUSH       0020            /* flush transmit silo */
        !            95: #define        DMF_RBRK        0010            /* real break bit */
        !            96: #define        DMF_RE          0004            /* receive enable */
        !            97: #define        DMF_AUTOX       0002            /* auto XON/XOFF */
        !            98: #define        DMF_TE          0001            /* transmit enable */
        !            99: 
        !           100: #define        DMFLCR_ENA      (DMF_MIE|DMF_RE|DMF_TE)
        !           101: 
        !           102: /* bits in dm lsr, copied from dh.c */
        !           103: #define        DML_USR         0001000         /* usr modem sig, not a real DM bit */
        !           104: #define        DML_DSR         0000400         /* data set ready, not a real DM bit */
        !           105: #define        DML_RNG         0000200         /* ring */
        !           106: #define        DML_CAR         0000100         /* carrier detect */
        !           107: #define        DML_CTS         0000040         /* clear to send */
        !           108: #define        DML_SR          0000020         /* secondary receive */
        !           109: #define        DML_ST          0000010         /* secondary transmit */
        !           110: #define        DML_RTS         0000004         /* request to send */
        !           111: #define        DML_DTR         0000002         /* data terminal ready */
        !           112: #define        DML_LE          0000001         /* line enable */
        !           113: 
        !           114: #define SETLCR(pt, exp) \
        !           115:        pt->dmfun.dmfirw = (((pt)->dmftms)<<8) | ((exp)&0xff)

unix.superglobalmegacorp.com

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