|
|
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: * @(#)dmxreg.h 7.1 (Berkeley) 9/4/89 ! 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 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.