1/*
2 * Copyright (c) 1982, 1986, 1989, 1993
3 * The Regents of the University of California. 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
--- 17 unchanged lines hidden (view full) ---
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 * @(#)tty_pty.c 8.2 (Berkeley) 9/23/93
34 * $Id: tty_pty.c,v 1.12 1995/07/21 16:30:52 bde Exp $
35 */
36
37/*
38 * Pseudo-teletype Driver
39 * (Actually two drivers, requiring two entries in 'cdevsw')
40 */
41#include "pty.h" /* XXX */
42
--- 325 unchanged lines hidden (view full) ---
368 if (pti->pt_flags & (PF_PKT|PF_UCNTL))
369 error = ureadc(0, uio);
370 while (uio->uio_resid > 0 && error == 0) {
371 cc = q_to_b(&tp->t_outq, buf, min(uio->uio_resid, BUFSIZ));
372 if (cc <= 0)
373 break;
374 error = uiomove(buf, cc, uio);
375 }
376 if (tp->t_outq.c_cc <= tp->t_lowat) {
377 if (tp->t_state&TS_ASLEEP) {
378 tp->t_state &= ~TS_ASLEEP;
379 wakeup((caddr_t)&tp->t_outq);
380 }
381 selwakeup(&tp->t_wsel);
382 }
383 return (error);
384}
385
386void
387ptsstop(tp, flush)
388 register struct tty *tp;
389 int flush;
390{
--- 329 unchanged lines hidden ---
2 * Copyright (c) 1982, 1986, 1989, 1993
3 * The Regents of the University of California. 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
--- 17 unchanged lines hidden (view full) ---
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 * @(#)tty_pty.c 8.2 (Berkeley) 9/23/93
34 * $Id: tty_pty.c,v 1.12 1995/07/21 16:30:52 bde Exp $
35 */
36
37/*
38 * Pseudo-teletype Driver
39 * (Actually two drivers, requiring two entries in 'cdevsw')
40 */
41#include "pty.h" /* XXX */
42
--- 325 unchanged lines hidden (view full) ---
368 if (pti->pt_flags & (PF_PKT|PF_UCNTL))
369 error = ureadc(0, uio);
370 while (uio->uio_resid > 0 && error == 0) {
371 cc = q_to_b(&tp->t_outq, buf, min(uio->uio_resid, BUFSIZ));
372 if (cc <= 0)
373 break;
374 error = uiomove(buf, cc, uio);
375 }
376 if (tp->t_outq.c_cc <= tp->t_lowat) {
377 if (tp->t_state&TS_ASLEEP) {
378 tp->t_state &= ~TS_ASLEEP;
379 wakeup((caddr_t)&tp->t_outq);
380 }
381 selwakeup(&tp->t_wsel);
382 }
383 return (error);
384}
385
386void
387ptsstop(tp, flush)
388 register struct tty *tp;
389 int flush;
390{
--- 329 unchanged lines hidden ---