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 */

Defined struct's

dmfdevice defined in line 20; used 52 times

Defined macros

BITS6 defined in line 60; used 1 times
BITS7 defined in line 61; used 1 times
BITS8 defined in line 62; used 1 times
DMFC_ASYNC defined in line 147; used 2 times
DMFC_CONFMASK defined in line 143; used 1 times
DMFC_DR defined in line 144; never used
DMFC_LP defined in line 145; used 3 times
DMFC_SYNC defined in line 146; never used
DMFIR_LCR defined in line 55; used 8 times
DMFIR_TBA defined in line 56; used 2 times
DMFIR_TBUF defined in line 54; used 5 times
DMFIR_TCC defined in line 57; never used
DMFLCR_ENA defined in line 106; used 2 times
DMFL_BUFSIZ defined in line 134; used 3 times
DMFL_CONV defined in line 130; used 1 times
DMFL_DAVRDY defined in line 131; never used
DMFL_DEFCOLS defined in line 135; used 1 times
DMFL_DEFLINES defined in line 136; used 1 times
DMFL_DMAERR defined in line 133; used 1 times
DMFL_FORMAT defined in line 123; used 1 times
DMFL_IE defined in line 126; used 2 times
DMFL_INDIR defined in line 128; never used
DMFL_MAINT defined in line 125; never used
DMFL_OFFLINE defined in line 132; used 3 times
DMFL_OPTIONS defined in line 137; used 1 times
DMFL_PDONE defined in line 127; used 1 times
DMFL_PEN defined in line 121; used 1 times
DMFL_RESET defined in line 122; used 1 times
DMFL_UNUSED defined in line 124; never used
DMFL_UNUSED2 defined in line 129; never used
DMF_AUTOX defined in line 103; never used
DMF_BRK defined in line 91; used 4 times
DMF_CAR defined in line 81; used 2 times
DMF_CLR defined in line 51; never used
DMF_CTS defined in line 80; never used
DMF_DO defined in line 75; used 2 times
DMF_DSC defined in line 72; used 1 times
DMF_DSR defined in line 83; never used
DMF_DTR defined in line 87; used 3 times
DMF_FE defined in line 74; used 2 times
DMF_FLUSH defined in line 100; used 1 times
DMF_IAD defined in line 52; never used
DMF_IE defined in line 67; used 17 times
DMF_LIN defined in line 48; never used
DMF_MIE defined in line 99; used 1 times
DMF_NXM defined in line 47; used 1 times
DMF_OFF defined in line 96; used 2 times
DMF_ON defined in line 95; used 2 times
DMF_PE defined in line 73; used 2 times
DMF_PREEMPT defined in line 92; never used
DMF_RATE defined in line 88; used 1 times
DMF_RBRK defined in line 101; used 2 times
DMF_RE defined in line 102; used 1 times
DMF_RI defined in line 49; never used
DMF_RIE defined in line 50; used 1 times
  • in line 67
DMF_RNG defined in line 82; never used
DMF_RTS defined in line 90; used 5 times
DMF_SILOCNT defined in line 69; used 1 times
DMF_SR defined in line 79; never used
DMF_ST defined in line 89; never used
DMF_TE defined in line 104; used 6 times
DMF_TI defined in line 45; used 1 times
DMF_TIE defined in line 46; used 1 times
  • in line 67
DMF_USRR defined in line 78; used 1 times
DMF_USRW defined in line 86; used 1 times
DML_CAR defined in line 112; never used
DML_CTS defined in line 113; never used
DML_DSR defined in line 110; never used
DML_DTR defined in line 117; never used
DML_LE defined in line 118; used 1 times
DML_RNG defined in line 111; never used
DML_RTS defined in line 116; used 2 times
DML_SR defined in line 114; never used
DML_ST defined in line 115; used 1 times
DML_USR defined in line 109; used 2 times
EPAR defined in line 65; used 1 times
PENABLE defined in line 64; used 2 times
TWOSB defined in line 63; used 1 times
dmflctms defined in line 40; used 15 times
dmfrms defined in line 39; used 2 times
dmfrsp defined in line 36; used 2 times
dmftba defined in line 41; used 2 times
dmftbuf defined in line 37; used 1 times
dmftcc defined in line 42; used 1 times
dmftsc defined in line 38; used 2 times

Usage of this include

dmfreg.h used 1 times
Last modified: 1986-06-05
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1815
Valid CSS Valid XHTML 1.0 Strict