Annotation of 43BSD/sys/vaxuba/dmfreg.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:  *     @(#)dmfreg.h    7.1 (Berkeley) 6/5/86
        !             7:  */
        !             8: 
        !             9: /*
        !            10:  * DMF-32 definitions.
        !            11:  */
        !            12: 
        !            13: /*
        !            14:  * "dmf" (unqualified) refers to the async portion of the dmf32,
        !            15:  * "dmfc" to the combo portion,
        !            16:  * "dmfs" to the sync portion,
        !            17:  * "dmfl" to the lp portion, and
        !            18:  * "dmfd" to the dr portion.
        !            19:  */
        !            20: struct dmfdevice {
        !            21:        short   dmfccsr0;               /* combo csr 0 */
        !            22:        short   dmfccsr1;               /* combo csr 1 */
        !            23:        short   dmfs[4];
        !            24:        short   dmfcsr;                 /* control-status register */
        !            25:        short   dmflpr;                 /* line parameter register */
        !            26:        short   dmfrbuf;                /* receiver buffer (ro) */
        !            27:        union {
        !            28:                u_short dmfirw;         /* indirect register word */
        !            29:                u_char  dmfirc[2];      /*    "         "    bytes */
        !            30:        } dmfun;
        !            31:        short   dmfl_ctrl;      /* line printer control register */
        !            32:        short   dmfl_indrct;    /* line printer indirect register */
        !            33:        short   dmfd[4];        /* for dr11 (not implemented) */
        !            34: };
        !            35: 
        !            36: #define        dmfrsp  dmfrbuf         /* receive silo parameter register (wo) */
        !            37: #define        dmftbuf dmfun.dmfirc[0] /* transmit buffer */
        !            38: #define        dmftsc  dmfun.dmfirc[0] /* transmit silo count */
        !            39: #define        dmfrms  dmfun.dmfirc[1] /* receive modem status */
        !            40: #define        dmflctms dmfun.dmfirw   /* line control, transmit modem status */
        !            41: #define        dmftba  dmfun.dmfirw    /* transmit buffer address */
        !            42: #define        dmftcc  dmfun.dmfirw    /* transmit character count */
        !            43: 
        !            44: /* bits in dmfcsr */
        !            45: #define        DMF_TI  0100000         /* transmit interrupt */
        !            46: #define        DMF_TIE 0040000         /* transmit interrupt enable */
        !            47: #define        DMF_NXM 0020000         /* non-existant memory */
        !            48: #define        DMF_LIN 0003400         /* transmit line number */
        !            49: #define        DMF_RI  0000200         /* receiver interrupt */
        !            50: #define        DMF_RIE 0000100         /* receiver interrupt enable */
        !            51: #define        DMF_CLR 0000040         /* master reset */
        !            52: #define        DMF_IAD 0000037         /* indirect address register */
        !            53: 
        !            54: #define        DMFIR_TBUF      000     /* select tbuf indirect register */
        !            55: #define        DMFIR_LCR       010     /* select lcr indirect register */
        !            56: #define        DMFIR_TBA       020     /* select tba indirect register */
        !            57: #define        DMFIR_TCC       030     /* select tcc indirect register */
        !            58: 
        !            59: /* bits in dmflpr */
        !            60: #define        BITS6   (01<<3)
        !            61: #define        BITS7   (02<<3)
        !            62: #define        BITS8   (03<<3)
        !            63: #define        TWOSB   0200
        !            64: #define        PENABLE 040
        !            65: #define        EPAR    0100
        !            66: 
        !            67: #define        DMF_IE  (DMF_TIE|DMF_RIE)
        !            68: 
        !            69: #define        DMF_SILOCNT     32              /* size of DMF output silo (per line) */
        !            70: 
        !            71: /* bits in dmfrbuf */
        !            72: #define        DMF_DSC         0004000         /* data set change */
        !            73: #define        DMF_PE          0010000         /* parity error */
        !            74: #define        DMF_FE          0020000         /* framing error */
        !            75: #define        DMF_DO          0040000         /* data overrun */
        !            76: 
        !            77: /* bits in dmfrms */
        !            78: #define        DMF_USRR        0004            /* user modem signal (pin 25) */
        !            79: #define        DMF_SR          0010            /* secondary receive */
        !            80: #define        DMF_CTS         0020            /* clear to send */
        !            81: #define        DMF_CAR         0040            /* carrier detect */
        !            82: #define        DMF_RNG         0100            /* ring */
        !            83: #define        DMF_DSR         0200            /* data set ready */
        !            84: 
        !            85: /* bits in dmftms */
        !            86: #define        DMF_USRW        0001            /* user modem signal (pin 18) */
        !            87: #define        DMF_DTR         0002            /* data terminal ready */
        !            88: #define        DMF_RATE        0004            /* data signal rate select */
        !            89: #define        DMF_ST          0010            /* secondary transmit */
        !            90: #define        DMF_RTS         0020            /* request to send */
        !            91: #define        DMF_BRK         0040            /* pseudo break bit */
        !            92: #define        DMF_PREEMPT     0200            /* preempt output */
        !            93: 
        !            94: /* flags for modem control */
        !            95: #define        DMF_ON  (DMF_DTR|DMF_RTS)
        !            96: #define        DMF_OFF 0
        !            97: 
        !            98: /* bits in dmflctms */
        !            99: #define        DMF_MIE         0040            /* modem interrupt enable */
        !           100: #define        DMF_FLUSH       0020            /* flush transmit silo */
        !           101: #define        DMF_RBRK        0010            /* real break bit */
        !           102: #define        DMF_RE          0004            /* receive enable */
        !           103: #define        DMF_AUTOX       0002            /* auto XON/XOFF */
        !           104: #define        DMF_TE          0001            /* transmit enable */
        !           105: 
        !           106: #define        DMFLCR_ENA      (DMF_MIE|DMF_RE|DMF_TE)
        !           107: 
        !           108: /* bits in dm lsr, copied from dh.c */
        !           109: #define        DML_USR         0001000         /* usr modem sig, not a real DM bit */
        !           110: #define        DML_DSR         0000400         /* data set ready, not a real DM bit */
        !           111: #define        DML_RNG         0000200         /* ring */
        !           112: #define        DML_CAR         0000100         /* carrier detect */
        !           113: #define        DML_CTS         0000040         /* clear to send */
        !           114: #define        DML_SR          0000020         /* secondary receive */
        !           115: #define        DML_ST          0000010         /* secondary transmit */
        !           116: #define        DML_RTS         0000004         /* request to send */
        !           117: #define        DML_DTR         0000002         /* data terminal ready */
        !           118: #define        DML_LE          0000001         /* line enable */
        !           119: 
        !           120: /* dmf line printer csr def */
        !           121: #define DMFL_PEN       (1<<0)          /* print enable */
        !           122: #define DMFL_RESET     (1<<1)          /* master reset */
        !           123: #define DMFL_FORMAT    (1<<2)          /* format control */
        !           124: #define DMFL_UNUSED    (3<<3)
        !           125: #define DMFL_MAINT     (1<<5)          /* maintenance mode on */
        !           126: #define DMFL_IE                (1<<6)          /* intr enable */
        !           127: #define DMFL_PDONE     (1<<7)          /* print done bit */
        !           128: #define DMFL_INDIR     (7<<8)          /* indirect reg */
        !           129: #define DMFL_UNUSED2   (1<<11)
        !           130: #define DMFL_CONV      (1<<12)         /* connect verify */
        !           131: #define        DMFL_DAVRDY     (1<<13)         /* davfu ready */
        !           132: #define DMFL_OFFLINE   (1<<14)         /* printer offline */
        !           133: #define DMFL_DMAERR    (1<<15)         /* dma error bit */
        !           134: #define DMFL_BUFSIZ    512             /* max chars per dma */
        !           135: #define DMFL_DEFCOLS   132             /* default # of cols/line <=255 */
        !           136: #define DMFL_DEFLINES  66              /* default # of lines/page <=255 */
        !           137: #define DMFL_OPTIONS   ((1 << 8) | (1 << 9) | (1 << 15))
        !           138:                                        /* auto cr, real ff, no lower to upper */
        !           139: 
        !           140: /*
        !           141:  *  Bits in the configuration register
        !           142:  */
        !           143: #define DMFC_CONFMASK  0xf000          /* picks off the configuration bits */
        !           144: #define        DMFC_DR         0x1000          /* DR11 parallel interface */
        !           145: #define DMFC_LP                0x2000          /* LP dma parallel lineprinter i'face */
        !           146: #define DMFC_SYNC      0x4000          /* Synchronous serial interface */
        !           147: #define DMFC_ASYNC     0x8000          /* 8 Serial ports */

unix.superglobalmegacorp.com

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