|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1982, 1986 Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * Redistribution and use in source and binary forms, with or without ! 6: * modification, are permitted provided that the following conditions ! 7: * are met: ! 8: * 1. Redistributions of source code must retain the above copyright ! 9: * notice, this list of conditions and the following disclaimer. ! 10: * 2. Redistributions in binary form must reproduce the above copyright ! 11: * notice, this list of conditions and the following disclaimer in the ! 12: * documentation and/or other materials provided with the distribution. ! 13: * 3. All advertising materials mentioning features or use of this software ! 14: * must display the following acknowledgement: ! 15: * This product includes software developed by the University of ! 16: * California, Berkeley and its contributors. ! 17: * 4. Neither the name of the University nor the names of its contributors ! 18: * may be used to endorse or promote products derived from this software ! 19: * without specific prior written permission. ! 20: * ! 21: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ! 22: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ! 23: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ! 24: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ! 25: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ! 26: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ! 27: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! 28: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ! 29: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ! 30: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ! 31: * SUCH DAMAGE. ! 32: * ! 33: * @(#)if_dmc.h 7.5 (Berkeley) 6/28/90 ! 34: */ ! 35: ! 36: /* ! 37: * DMC-11 Interface ! 38: */ ! 39: ! 40: struct dmcdevice { ! 41: char bsel0; ! 42: char bsel1; ! 43: char bsel2; ! 44: char bsel3; ! 45: short sel4; ! 46: short sel6; ! 47: }; ! 48: ! 49: /* ! 50: * dmc software packet encapsulation. This allows the dmc ! 51: * link to be multiplexed among several protocols. ! 52: * The first eight bytes of the dmc header are garbage, ! 53: * since on a vax the uba has been known to mung these ! 54: * bytes. The next two bytes encapsulate packet type. ! 55: */ ! 56: struct dmc_header { ! 57: char dmc_buf[8]; /* space for uba on vax */ ! 58: short dmc_type; /* encapsulate packet type */ ! 59: }; ! 60: ! 61: /* packet types */ ! 62: #define DMC_IPTYPE 1 ! 63: #define DMC_TRAILER 2 ! 64: #define DMC_NTRAILER 16 ! 65: ! 66: /* ! 67: * DMCMTU includes space for data (1024) + ! 68: * protocol header (256) + trailer descriptor (4). ! 69: * The software link encapsulation header (dmc_header) ! 70: * is handled separately. ! 71: #define DMCMTU 1284 ! 72: */ ! 73: #define DMCMTU 1500 ! 74: ! 75: #define RDYSCAN 16 /* loop delay for RDYI after RQI */ ! 76: ! 77: /* defines for bsel0 */ ! 78: #define DMC_BACCI 0 ! 79: #define DMC_CNTLI 1 ! 80: #define DMC_PERR 2 ! 81: #define DMC_BASEI 3 ! 82: #define DMC_WRITE 0 /* transmit block */ ! 83: #define DMC_READ 4 /* read block */ ! 84: #define DMC_RQI 0040 /* port request bit */ ! 85: #define DMC_IEI 0100 /* enable input interrupts */ ! 86: #define DMC_RDYI 0200 /* port ready */ ! 87: #define DMC0BITS "\10\10RDI\7IEI\6RQI" ! 88: ! 89: /* defines for bsel1 */ ! 90: #define DMC_MCLR 0100 /* DMC11 Master Clear */ ! 91: #define DMC_RUN 0200 /* clock running */ ! 92: #define DMC1BITS "\10\10RUN\7MCLR" ! 93: ! 94: /* defines for bsel2 */ ! 95: #define DMC_BACCO 0 ! 96: #define DMC_CNTLO 1 ! 97: #define DMC_OUX 0 /* transmit block */ ! 98: #define DMC_OUR 4 /* read block */ ! 99: #define DMC_IEO 0100 /* enable output interrupts */ ! 100: #define DMC_RDYO 0200 /* port available */ ! 101: #define DMC2BITS "\10\10RDO\7IEO" ! 102: ! 103: /* defines for CNTLI mode */ ! 104: #define DMC_HDPLX 02000 /* half duplex DDCMP operation */ ! 105: #define DMC_SEC 04000 /* half duplex secondary station */ ! 106: #define DMC_MAINT 00400 /* enter maintenance mode */ ! 107: ! 108: /* defines for BACCI/O and BASEI mode */ ! 109: #define DMC_XMEM 0140000 /* xmem bit position */ ! 110: #define DMC_CCOUNT 0037777 /* character count mask */ ! 111: #define DMC_RESUME 0002000 /* resume (BASEI only) */ ! 112: ! 113: /* defines for CNTLO */ ! 114: #define DMC_CNTMASK 01777 ! 115: ! 116: #define DMC_DATACK 01 ! 117: #define DMC_TIMEOUT 02 ! 118: #define DMC_NOBUFS 04 ! 119: #define DMC_MAINTREC 010 ! 120: #define DMC_LOSTDATA 020 ! 121: #define DMC_DISCONN 0100 ! 122: #define DMC_START 0200 ! 123: #define DMC_NEXMEM 0400 ! 124: #define DMC_ERROR 01000 ! 125: ! 126: #define DMC_FATAL (DMC_ERROR|DMC_NEXMEM|DMC_START|DMC_LOSTDATA|DMC_MAINTREC) ! 127: #define CNTLO_BITS \ ! 128: "\10\12ERROR\11NEXMEM\10START\7DISC\5LSTDATA\4MAINT\3NOBUF\2TIMEO\1DATACK"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.