Annotation of 43BSD/sys/vaxuba/dhureg.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1982, 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:  *     @(#)dhureg.h    7.1 (Berkeley) 6/5/86
        !             7:  */
        !             8: 
        !             9: /* 
        !            10:  * DHU-11 device register definitions.
        !            11:  */
        !            12: struct dhudevice {
        !            13:        union {
        !            14:                short   csr;            /* control-status register */
        !            15:                struct {
        !            16:                        char    csrl;   /* low byte for line select */
        !            17:                        char    csrh;   /* high byte for tx line */
        !            18:                } cb;
        !            19:        } un1;
        !            20: #define        dhucsr  un1.csr
        !            21: #define        dhucsrl un1.cb.csrl
        !            22: #define        dhucsrh un1.cb.csrh
        !            23:        union {
        !            24:                short   rbuf;           /* recv.char/ds.change register (R) */
        !            25:                short   timo;           /* delay between recv -> intr (W) */
        !            26:        } un2;
        !            27: #define        dhurbuf un2.rbuf
        !            28: #define        dhutimo un2.timo
        !            29:        short   dhulpr;                 /* line parameter register */
        !            30:        union {
        !            31:                char    fbyte[1];       /* fifo data byte (low byte only) (W) */
        !            32:                short   fdata;          /* fifo data word (W) */
        !            33:                char    sbyte[2];       /* line status/fifo size (R) */
        !            34:        } un3;
        !            35: #define        dhubyte un3.fbyte[0]
        !            36: #define dhufifo        un3.fdata
        !            37: #define dhusize        un3.sbyte[0]
        !            38: #define dhustat        un3.sbyte[1]
        !            39:        short   dhulcr;                 /* line control register */
        !            40:        short   dhubar1;                /* buffer address register 1 */
        !            41:        char    dhubar2;                /* buffer address register 2 */
        !            42:        char    dhulcr2;                /* xmit enable bit */
        !            43:        short   dhubcr;                 /* buffer count register */
        !            44: };
        !            45: 
        !            46: /* Bits in dhucsr */
        !            47: #define        DHU_CS_TIE      0x4000          /* transmit interrupt enable */
        !            48: #define        DHU_CS_DFAIL    0x2000          /* diagnostic fail */
        !            49: #define        DHU_CS_RI       0x0080          /* receiver interrupt */
        !            50: #define        DHU_CS_RIE      0x0040          /* receiver interrupt enable */
        !            51: #define        DHU_CS_MCLR     0x0020          /* master clear */
        !            52: #define        DHU_CS_SST      0x0010          /* skip self test (with DHU_CS_MCLR) */
        !            53: #define        DHU_CS_IAP      0x000f          /* indirect address pointer */
        !            54: 
        !            55: #define        DHU_IE  (DHU_CS_TIE|DHU_CS_RIE)
        !            56: 
        !            57: /* map unit into iap register select */
        !            58: #define DHU_SELECT(unit)       ((unit) & DHU_CS_IAP)
        !            59: 
        !            60: /* Transmitter bits in high byte of dhucsr */
        !            61: #define        DHU_CSH_TI      0x80            /* transmit interrupt */
        !            62: #define        DHU_CSH_NXM     0x10            /* transmit dma err: non-exist-mem */
        !            63: #define        DHU_CSH_TLN     0x0f            /* transmit line number */
        !            64: 
        !            65: /* map csrh line bits into line */
        !            66: #define        DHU_TX_LINE(csrh)       ((csrh) & DHU_CSH_TLN)
        !            67: 
        !            68: /* Bits in dhurbuf */
        !            69: #define        DHU_RB_VALID    0x8000          /* data valid */
        !            70: #define        DHU_RB_STAT     0x7000          /* status bits */
        !            71: #define        DHU_RB_DO       0x4000          /* data overrun */
        !            72: #define        DHU_RB_FE       0x2000          /* framing error */
        !            73: #define        DHU_RB_PE       0x1000          /* parity error */
        !            74: #define        DHU_RB_RLN      0x0f00          /* receive line number */
        !            75: #define        DHU_RB_RDS      0x00ff          /* receive data/status */
        !            76: #define DHU_RB_DIAG    0x0001          /* if DHU_RB_STAT -> diag vs modem */
        !            77: 
        !            78: /* map rbuf line bits into line */
        !            79: #define        DHU_RX_LINE(rbuf)       (((rbuf) & DHU_RB_RLN) >> 8)
        !            80: 
        !            81: /* Bits in dhulpr */
        !            82: #define        DHU_LP_TSPEED   0xf000
        !            83: #define        DHU_LP_RSPEED   0x0f00
        !            84: #define        DHU_LP_TWOSB    0x0080
        !            85: #define        DHU_LP_EPAR     0x0040
        !            86: #define        DHU_LP_PENABLE  0x0020
        !            87: #define        DHU_LP_BITS8    0x0018
        !            88: #define        DHU_LP_BITS7    0x0010
        !            89: #define        DHU_LP_BITS6    0x0008
        !            90: 
        !            91: /* Bits in dhustat */
        !            92: #define        DHU_ST_DSR      0x80            /* data set ready */
        !            93: #define        DHU_ST_RI       0x20            /* ring indicator */
        !            94: #define        DHU_ST_DCD      0x10            /* carrier detect */
        !            95: #define        DHU_ST_CTS      0x04            /* clear to send */
        !            96: #define        DHU_ST_DHU      0x01            /* always one on a dhu, zero on dhv */
        !            97: 
        !            98: /* Bits in dhulcr */
        !            99: #define        DHU_LC_RTS      0x1000          /* request to send */
        !           100: #define        DHU_LC_DTR      0x0200          /* data terminal ready */
        !           101: #define        DHU_LC_MODEM    0x0100          /* modem control enable */
        !           102: #define        DHU_LC_MAINT    0x00c0          /* maintenance mode */
        !           103: #define        DHU_LC_FXOFF    0x0020          /* force xoff */
        !           104: #define        DHU_LC_OAUTOF   0x0010          /* output auto flow */
        !           105: #define        DHU_LC_BREAK    0x0008          /* break control */
        !           106: #define        DHU_LC_RXEN     0x0004          /* receiver enable */
        !           107: #define        DHU_LC_IAUTOF   0x0002          /* input auto flow */
        !           108: #define        DHU_LC_TXABORT  0x0001          /* transmitter abort */
        !           109: 
        !           110: /* Bits in dhulcr2 */
        !           111: #define        DHU_LC2_TXEN    0x80            /* transmitter enable */
        !           112: 
        !           113: /* Bits in dhubar2 */
        !           114: #define        DHU_BA2_DMAGO   0x80            /* transmit dma start */
        !           115: #define        DHU_BA2_XBA     0x03            /* top two bits of dma address */
        !           116: #define DHU_XBA_SHIFT  16              /* amount to shift xba bits */
        !           117: 
        !           118: /* Bits for dhumctl only:  stat bits are shifted up 16 */
        !           119: #define        DHU_ON  (DHU_LC_DTR|DHU_LC_RTS|DHU_LC_MODEM)
        !           120: #define        DHU_OFF DHU_LC_MODEM
        !           121: 
        !           122: #define        DHU_DSR (DHU_ST_DSR << 16)
        !           123: #define        DHU_RNG (DHU_ST_RI << 16)
        !           124: #define        DHU_CAR (DHU_ST_DCD << 16)
        !           125: #define        DHU_CTS (DHU_ST_CTS << 16)
        !           126: 
        !           127: #define        DHU_RTS DHU_LC_RTS
        !           128: #define        DHU_DTR DHU_LC_DTR
        !           129: #define DHU_BRK        DHU_LC_BREAK
        !           130: #define DHU_LE DHU_LC_MODEM
        !           131: 
        !           132: /* bits in dm lsr, copied from dmreg.h */
        !           133: #define        DML_DSR         0000400         /* data set ready, not a real DM bit */
        !           134: #define        DML_RNG         0000200         /* ring */
        !           135: #define        DML_CAR         0000100         /* carrier detect */
        !           136: #define        DML_CTS         0000040         /* clear to send */
        !           137: #define        DML_SR          0000020         /* secondary receive */
        !           138: #define        DML_ST          0000010         /* secondary transmit */
        !           139: #define        DML_RTS         0000004         /* request to send */
        !           140: #define        DML_DTR         0000002         /* data terminal ready */
        !           141: #define        DML_LE          0000001         /* line enable */

unix.superglobalmegacorp.com

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