X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/9060c89c46fe2ed7e4d991881899ed3b564f0d36..d30e3c486394d769de3bee83fa1d2ad0fb55e084:/usr/src/sys/kern/tty_tty.c diff --git a/usr/src/sys/kern/tty_tty.c b/usr/src/sys/kern/tty_tty.c index 3c1078df74..7d8f258449 100644 --- a/usr/src/sys/kern/tty_tty.c +++ b/usr/src/sys/kern/tty_tty.c @@ -1,75 +1,87 @@ -/* tty_tty.c 4.5 82/01/13 */ +/* + * Copyright (c) 1982, 1986 Regents of the University of California. + * All rights reserved. The Berkeley software License Agreement + * specifies the terms and conditions for redistribution. + * + * @(#)tty_tty.c 7.1 (Berkeley) %G% + */ /* * Indirect driver for controlling tty. * * THIS IS GARBAGE: MUST SOON BE DONE WITH struct inode * IN PROC TABLE. */ -#include "../h/param.h" -#include "../h/systm.h" -#include "../h/conf.h" -#include "../h/dir.h" -#include "../h/user.h" -#include "../h/tty.h" -#include "../h/proc.h" +#include "param.h" +#include "systm.h" +#include "conf.h" +#include "dir.h" +#include "user.h" +#include "ioctl.h" +#include "tty.h" +#include "proc.h" +#include "uio.h" /*ARGSUSED*/ syopen(dev, flag) + dev_t dev; + int flag; { - if(u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) { - u.u_error = ENXIO; - return; - } - (*cdevsw[major(u.u_ttyd)].d_open)(u.u_ttyd, flag); + if (u.u_ttyp == NULL) + return (ENXIO); + return ((*cdevsw[major(u.u_ttyd)].d_open)(u.u_ttyd, flag)); } /*ARGSUSED*/ -syread(dev) +syread(dev, uio) + dev_t dev; + struct uio *uio; { - if (u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) { - u.u_error = ENXIO; - return; - } - (*cdevsw[major(u.u_ttyd)].d_read)(u.u_ttyd); + if (u.u_ttyp == NULL) + return (ENXIO); + return ((*cdevsw[major(u.u_ttyd)].d_read)(u.u_ttyd, uio)); } /*ARGSUSED*/ -sywrite(dev) +sywrite(dev, uio) + dev_t dev; + struct uio *uio; { - if (u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) { - u.u_error = ENXIO; - return; - } - (*cdevsw[major(u.u_ttyd)].d_write)(u.u_ttyd); + if (u.u_ttyp == NULL) + return (ENXIO); + return ((*cdevsw[major(u.u_ttyd)].d_write)(u.u_ttyd, uio)); } /*ARGSUSED*/ syioctl(dev, cmd, addr, flag) -caddr_t addr; + dev_t dev; + int cmd; + caddr_t addr; + int flag; { if (cmd == TIOCNOTTY) { u.u_ttyp = 0; u.u_ttyd = 0; u.u_procp->p_pgrp = 0; - return; - } - if (u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) { - u.u_error = ENXIO; - return; + return (0); } - (*cdevsw[major(u.u_ttyd)].d_ioctl)(u.u_ttyd, cmd, addr, flag); + if (u.u_ttyp == NULL) + return (ENXIO); + return ((*cdevsw[major(u.u_ttyd)].d_ioctl)(u.u_ttyd, cmd, addr, flag)); } +/*ARGSUSED*/ syselect(dev, flag) + dev_t dev; + int flag; { - if (u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) { + if (u.u_ttyp == NULL) { u.u_error = ENXIO; return (0); } - return ((*cdevsw[major(u.u_ttyd)].d_select)(dev, flag)); + return ((*cdevsw[major(u.u_ttyd)].d_select)(u.u_ttyd, flag)); }