Annotation of 43BSD/sys/vaxuba/dmzreg.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1985, 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:  *     @(#)dmzreg.h    7.1 (Berkeley) 6/5/86
                      7:  */
                      8: 
                      9: /*
                     10:  * HISTORY
                     11:  * 23-Apr-85  Joe Camaratta (jcc) at Siemens RTL
                     12:  *     Header file for DEC's DMZ32
                     13:  */
                     14: 
                     15: struct dmzdevice {
                     16:        short dmz_config;       /* configuration cntl and status register */
                     17:        short dmz_diag;         /* diagnostic control and status register */
                     18:        struct {
                     19:                short octet_csr;        /* octet control and status */
                     20:                short octet_lprm;       /* line parameter */
                     21:                union{
                     22:                        short octet_rb;         /* receiver buffer */
                     23:                        short octet_rsp;        /* receive silo parameter */
                     24:                } octet_receive;
                     25:                union{
                     26:                        u_short word;           /* word */
                     27:                        u_char bytes[2];        /* bytes */
                     28:                } octet_ir;                     /* indirect registers */
                     29:        } octet[3];
                     30:        short dmz_unused[2];
                     31: };
                     32: 
                     33: #define octet_sato octet_rsp
                     34: 
                     35: /* aliases for asynchronous indirect control registers */
                     36: #define        IR_TBUF         000     /* transmit character */
                     37: #define        IR_RMSTSC       000     /* receive modem status, transmit silo count */
                     38: #define        IR_LCTMR        010     /* line control and transmit modem */
                     39: #define        IR_TBA          020     /* transmit buffer address register */
                     40: #define        IR_TCC          030     /* transmit character count (DMA) */
                     41: 
                     42: #define        octet_tbf       octet_ir.bytes[0]       /* transmit buffer */
                     43: #define        octet_tbf2      octet_ir.word           /* transmit buffer, 2 chars */
                     44: #define        octet_rmstsc    octet_ir.word   /* rcv modem status, xmit silo count */
                     45: #define        octet_lctmr     octet_ir.word           /* line control, xmit modem */
                     46: #define        octet_tba       octet_ir.word           /* transmit buffer address */
                     47: #define        octet_tcc       octet_ir.word           /* transmit character count */
                     48: 
                     49: /* bits in octet_csr */
                     50: #define        DMZ_TRDY        0100000         /* transmit ready */
                     51: #define        DMZ_TIE         0040000         /* transmit interrupt enable */
                     52: #define        DMZ_NXM         0030000         /* non-existant memory */
                     53: #define        DMZ_LIN         0003400         /* transmit line number */
                     54: #define        DMZ_RRDY        0000200         /* receiver data available */
                     55: #define        DMZ_RIE         0000100         /* receiver interrupt enable */
                     56: #define        DMZ_RESET       0000040         /* master reset */
                     57: #define        DMZ_IAD         0000037         /* indirect address register */
                     58: 
                     59: #define        DMZ_IE          (DMZ_TIE | DMZ_RIE)     /* enable transmit and receive */
                     60: 
                     61: /* bits in octet_lprm (taken from dmfreg.h) */
                     62: #define        DMZ_6BT         0010            /* 6 bits per character */
                     63: #define        DMZ_7BT         0020            /* 7 bits per character */
                     64: #define        DMZ_8BT         0030            /* 8 bits per character */
                     65: #define        DMZ_PEN         0040            /* parity enable */
                     66: #define        DMZ_EPR         0100            /* even parity */
                     67: #define        DMZ_SCD         0200            /* stop code */
                     68: #define        DMZ_XTE         0170000         /* transmit rate */
                     69: #define        DMZ_RRT         0007400         /* receive rate */
                     70: #define        DMZ_LSL         0000007         /* line select */
                     71: 
                     72: /* baud rates */
                     73: #define        BR_50           000
                     74: #define        BR_75           001
                     75: #define        BR_110          002
                     76: #define        BR_134_5        003
                     77: #define        BR_150          004
                     78: #define        BR_300          005
                     79: #define        BR_600          006
                     80: #define        BR_1200         007
                     81: #define        BR_1800         010
                     82: #define        BR_2000         011
                     83: #define        BR_2400         012
                     84: #define        BR_3600         013
                     85: #define        BR_4800         014
                     86: #define        BR_7200         015
                     87: #define        BR_9600         016
                     88: #define        BR_19200        017
                     89: 
                     90: /* bits in octet_rb (taken from dmfreg.h) */
                     91: #define        DMZ_DSC         0004000         /* data set change */
                     92: #define        DMZ_PE          0010000         /* parity error */
                     93: #define        DMZ_FE          0020000         /* framing error */
                     94: #define        DMZ_DO          0040000         /* data overrun */
                     95: #define        DMZ_DV          0100000         /* data valid */
                     96: #define        DMZ_RL          0003400         /* line */
                     97: #define        DMZ_RD          0000377         /* data */
                     98: #define        DMZ_AT          0000377         /* alarm timeout */
                     99: 
                    100: /* bits in dmz_rmstsc */
                    101: #define        DMZ_TSC         0x00ff          /* transmit silo count */
                    102: #define        DMZ_USRR        0x0400          /* user modem signal (pin 25) */
                    103: #define        DMF_SR          0x0800          /* secondary receive */
                    104: #define        DMZ_CTS         0x1000          /* clear to send */
                    105: #define        DMZ_CAR         0x2000          /* carrier detect */
                    106: #define        DMZ_RNG         0x4000          /* ring */
                    107: #define        DMZ_DSR         0x8000          /* data set ready */
                    108: 
                    109: /* bits in dmz_lctmr (tms half) */
                    110: #define        DMZ_USRW        0x0100          /* user modem signal (pin 18) */
                    111: #define        DMZ_DTR         0x0200          /* data terminal ready */
                    112: #define        DMZ_RATE        0x0400          /* data signal rate select */
                    113: #define        DMF_ST          0x0800          /* secondary transmit */
                    114: #define        DMZ_RTS         0x1000          /* request to send */
                    115: #define        DMZ_PREEMPT     0x8000          /* preempt output */
                    116: 
                    117: /* bits in octet_lctmr (lc half) */
                    118: #define        DMZ_MIE         0040            /* modem interrupt enable */
                    119: #define        DMZ_FLS         0020            /* flush transmit silo */
                    120: #define        DMZ_BRK         0010            /* send break bit */
                    121: #define        DMZ_RE          0004            /* receive enable */
                    122: #define        DMZ_AUT         0002            /* auto XON/XOFF */
                    123: #define        DMZ_TE          0001            /* transmit enable */
                    124: #define        DMZ_CF          0300            /* control function */
                    125: 
                    126: #define        DMZ_LCE         (DMZ_MIE|DMZ_RE|DMZ_TE)
                    127: #define        DMZ_ON          (DMZ_DTR|DMZ_RTS|DMZ_LCE)
                    128: #define        DMZ_OFF         DMZ_LCE
                    129: 
                    130: 
                    131: /* bits in octet_tcc */
                    132: #define        DMZ_HA          0140000         /* high address bits */
                    133: 
                    134: /* bits added to dm lsr for DMGET/DMSET */
                    135: #define        DML_USR         0001000         /* usr modem sig, not a real DM bit */
                    136: #define        DML_DSR         0000400         /* data set ready, not a real DM bit */
                    137: 
                    138: #define        DMZ_SIZ         32              /* size of DMZ output silo (per line) */
                    139: 
                    140: #define        DMZ(a)          (a/24)
                    141: #define        OCTET(a)        ((a%24)/8)
                    142: #define        LINE(a)         ((a%24)%8)
                    143: 
                    144: #define        DMZ_NOC_MASK    03
                    145: #define        DMZ_INTERFACE   000

unix.superglobalmegacorp.com

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