Annotation of 43BSDTahoe/sys/vaxuba/dmxreg.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1986 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  *
                      6:  *     %W% (Berkeley) %G%
                      7:  *
                      8:  * Common structures and definitions
                      9:  * for merged DMF and DMZ drivers.
                     10:  */
                     11: 
                     12: /*
                     13:  * Hardware registers per octet of asynchronous lines
                     14:  */
                     15: struct dmx_octet {
                     16:        short   csr;                    /* control-status register */
                     17:        short   lpr;                    /* line parameter register */
                     18:        short   rbuf;                   /* receiver buffer (ro) */
                     19:        union {
                     20:                u_short irw;            /* indirect register word */
                     21:                u_char  irc[2];         /*    "         "    bytes */
                     22:        } octun;
                     23: };
                     24: 
                     25: #define        rsp     rbuf            /* receive silo parameter register (wo) */
                     26: #define        tbuf    octun.irc[0]    /* transmit buffer */
                     27: #define        tsc     octun.irc[0]    /* transmit silo count */
                     28: #define        rmstsc  octun.irw       /* rcv modem status, xmit silo count */
                     29: #define        rms     octun.irc[1]    /* receive modem status */
                     30: #define        lctms   octun.irw       /* line control, transmit modem status */
                     31: #define        tba     octun.irw       /* transmit buffer address */
                     32: #define        tcc     octun.irw       /* transmit character count */
                     33: 
                     34: /* bits in dmfcsr */
                     35: #define        DMF_TI  0100000         /* transmit interrupt */
                     36: #define        DMF_TIE 0040000         /* transmit interrupt enable */
                     37: #define        DMF_NXM 0030000         /* non-existent memory (which bit?) */
                     38: #define        DMF_LIN 0003400         /* transmit line number */
                     39: #define        DMF_RI  0000200         /* receiver interrupt */
                     40: #define        DMF_RIE 0000100         /* receiver interrupt enable */
                     41: #define        DMF_CLR 0000040         /* master reset */
                     42: #define        DMF_IAD 0000037         /* indirect address register */
                     43: 
                     44: #define        DMF_IE  (DMF_TIE|DMF_RIE)
                     45: 
                     46: #define        DMFIR_RMSTSC    000     /* select rmstsc indirect register */
                     47: #define        DMFIR_TBUF      000     /* select tbuf indirect register */
                     48: #define        DMFIR_LCR       010     /* select lcr indirect register */
                     49: #define        DMFIR_TBA       020     /* select tba indirect register */
                     50: #define        DMFIR_TCC       030     /* select tcc indirect register */
                     51: 
                     52: /* bits in dmflpr */
                     53: #define        BITS6           0010    /* 6 bits per character */
                     54: #define        BITS7           0020    /* 7 bits per character */
                     55: #define        BITS8           0030    /* 8 bits per character */
                     56: #define        PENABLE         0040    /* parity enable */
                     57: #define        EPAR            0100    /* even parity */
                     58: #define        TWOSB           0200    /* two stop bits */
                     59: 
                     60: #define        DMF_SILOCNT     32              /* size of DMF output silo (per line) */
                     61: 
                     62: /* bits in dmfrbuf */
                     63: #define        DMF_DSC         0004000         /* data set change */
                     64: #define        DMF_PE          0010000         /* parity error */
                     65: #define        DMF_FE          0020000         /* framing error */
                     66: #define        DMF_DO          0040000         /* data overrun */
                     67: 
                     68: /* bits in dmfrmstsc */
                     69: #define        DMF_TSC         0x00ff          /* transmit silo count */
                     70: #define        DMF_USRR        0x0400          /* user modem signal (pin 25) */
                     71: #define        DMF_SR          0x0800          /* secondary receive */
                     72: #define        DMF_CTS         0x1000          /* clear to send */
                     73: #define        DMF_CAR         0x2000          /* carrier detect */
                     74: #define        DMF_RNG         0x4000          /* ring */
                     75: #define        DMF_DSR         0x8000          /* data set ready */
                     76: 
                     77: /* bits in dmflctms (tms half) */
                     78: #define        DMF_USRW        0x0100          /* user modem signal (pin 18) */
                     79: #define        DMF_DTR         0x0200          /* data terminal ready */
                     80: #define        DMF_RATE        0x0400          /* data signal rate select */
                     81: #define        DMF_SRTS        0x0800          /* secondary request to send (dmf) */
                     82: #define        DMF_RTS         0x1000          /* request to send */
                     83: #define        DMF_PREEMPT     0x8000          /* preempt output */
                     84: 
                     85: /* bits in dmflctms (lc half) */
                     86: #define        DMF_MIE         0040            /* modem interrupt enable */
                     87: #define        DMF_FLUSH       0020            /* flush transmit silo */
                     88: #define        DMF_BRK         0010            /* send break bit */
                     89: #define        DMF_RE          0004            /* receive enable */
                     90: #define        DMF_AUTOX       0002            /* auto XON/XOFF */
                     91: #define        DMF_TE          0001            /* transmit enable */
                     92: 
                     93: #define        DMF_ENA         (DMF_MIE|DMF_RE|DMF_TE)
                     94: 
                     95: /* flags for modem control */
                     96: #define        DMF_ON          (DMF_DTR|DMF_RTS|DMF_ENA)
                     97: #define        DMF_OFF         0
                     98: 
                     99: /* bits added to dm lsr for DMGET/DMSET */
                    100: #define        DML_USR         0001000         /* usr modem sig, not a real DM bit */
                    101: #define        DML_DSR         0000400         /* data set ready, not a real DM bit */

unix.superglobalmegacorp.com

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