diff options
| author | Bruce Evans <bde@FreeBSD.org> | 1995-07-31 22:48:46 +0000 |
|---|---|---|
| committer | Bruce Evans <bde@FreeBSD.org> | 1995-07-31 22:48:46 +0000 |
| commit | 35b46c174ca0b97bf69ecb57511641641ba86247 (patch) | |
| tree | 1ec1d8fd08608dbfac04e1738efcb15f57d7af22 | |
| parent | 8f5171930efa1cfedd2a21c0ffcb03ec3a9c7ba5 (diff) | |
Notes
| -rw-r--r-- | sys/kern/tty.c | 8 | ||||
| -rw-r--r-- | sys/sys/tty.h | 9 |
2 files changed, 14 insertions, 3 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c index f271101f47db..7db76e15747a 100644 --- a/sys/kern/tty.c +++ b/sys/kern/tty.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)tty.c 8.8 (Berkeley) 1/21/94 - * $Id: tty.c,v 1.63 1995/07/31 21:01:23 bde Exp $ + * $Id: tty.c,v 1.64 1995/07/31 21:43:37 bde Exp $ */ /*- @@ -1297,11 +1297,15 @@ ttymodem(tp, flag) if (ISSET(tp->t_state, TS_CARR_ON) && ISSET(tp->t_cflag, MDMBUF)) { /* * MDMBUF: do flow control according to carrier flag + * XXX TS_CAR_OFLOW doesn't do anything yet. TS_TTSTOP + * works if IXON and IXANY are clear. */ if (flag) { + CLR(tp->t_state, TS_CAR_OFLOW); CLR(tp->t_state, TS_TTSTOP); ttstart(tp); - } else if (!ISSET(tp->t_state, TS_TTSTOP)) { + } else if (!ISSET(tp->t_state, TS_CAR_OFLOW)) { + SET(tp->t_state, TS_CAR_OFLOW); SET(tp->t_state, TS_TTSTOP); #ifdef sun4c /* XXX */ (*tp->t_stop)(tp, 0); diff --git a/sys/sys/tty.h b/sys/sys/tty.h index e3206ff5b5c8..99568d4979c0 100644 --- a/sys/sys/tty.h +++ b/sys/sys/tty.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)tty.h 8.6 (Berkeley) 1/21/94 - * $Id: tty.h,v 1.28 1995/07/31 19:17:19 bde Exp $ + * $Id: tty.h,v 1.29 1995/07/31 21:02:00 bde Exp $ */ #ifndef _SYS_TTY_H_ @@ -159,6 +159,13 @@ struct tty { #define TS_SO_OCOMPLETE 0x080000 /* Wake up when output completes. */ #define TS_ZOMBIE 0x100000 /* Connection lost. */ +/* Hardware flow-control-invoked bits. */ +#define TS_CAR_OFLOW 0x200000 /* For MDMBUF (XXX handle in driver). */ +#ifdef notyet +#define TS_CTS_OFLOW 0x400000 /* For CCTS_OFLOW. */ +#define TS_DSR_OFLOW 0x800000 /* For CDSR_OFLOW. */ +#endif + /* Character type information. */ #define ORDINARY 0 #define CONTROL 1 |
