misc pre-mba changes (non-recursive printf, futz, resuba, %uXX...)
[unix-history] / usr / src / sys / vax / uba / dz.c
index 26c175d..ecc78df 100644 (file)
@@ -1,6 +1,6 @@
-/*     dz.c    4.4     %G%     */
+/*     dz.c    4.8     %G%     */
 
 
-#include "../conf/dz.h"
+#include "dz.h"
 #if NDZ11 > 0
 /*
  *  DZ-11 Driver
 #if NDZ11 > 0
 /*
  *  DZ-11 Driver
@@ -115,6 +115,7 @@ char        dz_speeds[] = {
        0, 020 , 021 , 022 , 023 , 024 , 0, 025,
        026 , 027 , 030 , 032 , 034 , 036 , 0 , 0,
 };
        0, 020 , 021 , 022 , 023 , 024 , 0, 025,
        026 , 027 , 030 , 032 , 034 , 036 , 0 , 0,
 };
+char dz_brk[NDZ11];
  
 /*ARGSUSED*/
 dzopen(d, flag)
  
 /*ARGSUSED*/
 dzopen(d, flag)
@@ -165,6 +166,12 @@ dzclose(d)
        dev = minor(d);
        tp = &dz_tty[dev];
        (*linesw[tp->t_line].l_close)(tp);
        dev = minor(d);
        tp = &dz_tty[dev];
        (*linesw[tp->t_line].l_close)(tp);
+       /*
+        * Turn the break bit off in case it was left on by a TIOCSBRK
+        * but not turned off by TIOCCBRK
+        */
+       ((struct pdma *)(tp->t_addr))->p_addr->dzbrk =
+               (dz_brk[minor(dev)>>3] &= ~(1 << (dev&07)));
        if (tp->t_state & HUPCLS)
                dzmodem(dev, OFF);
        ttyclose(tp);
        if (tp->t_state & HUPCLS)
                dzmodem(dev, OFF);
        ttyclose(tp);
@@ -243,7 +250,6 @@ caddr_t addr;
 dev_t dev;
 {
        register struct tty *tp;
 dev_t dev;
 {
        register struct tty *tp;
-       static char dz_brk[NDZ11];
  
        tp = &dz_tty[minor(dev)];
        cmd = (*linesw[tp->t_line].l_ioctl)(tp, cmd, addr);
  
        tp = &dz_tty[minor(dev)];
        cmd = (*linesw[tp->t_line].l_ioctl)(tp, cmd, addr);
@@ -288,7 +294,7 @@ dzparam(dev)
        }
        lpr = (dz_speeds[tp->t_ispeed]<<8) | (dev & 07);
 #ifndef IIASA
        }
        lpr = (dz_speeds[tp->t_ispeed]<<8) | (dev & 07);
 #ifndef IIASA
-       if (tp->t_flags & RAW)
+       if ((tp->t_local&LLITOUT) || (tp->t_flags&RAW))
                lpr |= BITS8;
        else
                lpr |= (BITS7|PENABLE);
                lpr |= BITS8;
        else
                lpr |= (BITS7|PENABLE);