1 /* tty_tty.c 4.3 81/03/09 */ 2 3 /* 4 * Indirect driver for controlling tty. 5 */ 6 #include "../h/param.h" 7 #include "../h/systm.h" 8 #include "../h/conf.h" 9 #include "../h/dir.h" 10 #include "../h/user.h" 11 #include "../h/tty.h" 12 #include "../h/proc.h" 13 14 /*ARGSUSED*/ 15 syopen(dev, flag) 16 { 17 18 if(u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) { 19 u.u_error = ENXIO; 20 return; 21 } 22 (*cdevsw[major(u.u_ttyd)].d_open)(u.u_ttyd, flag); 23 } 24 25 /*ARGSUSED*/ 26 syread(dev) 27 { 28 29 if (u.u_procp->p_flag&SDETACH) { 30 u.u_error = ENXIO; 31 return; 32 } 33 (*cdevsw[major(u.u_ttyd)].d_read)(u.u_ttyd); 34 } 35 36 /*ARGSUSED*/ 37 sywrite(dev) 38 { 39 40 if (u.u_procp->p_flag&SDETACH) { 41 u.u_error = ENXIO; 42 return; 43 } 44 (*cdevsw[major(u.u_ttyd)].d_write)(u.u_ttyd); 45 } 46 47 /*ARGSUSED*/ 48 syioctl(dev, cmd, addr, flag) 49 caddr_t addr; 50 { 51 52 if (u.u_procp->p_flag&SDETACH) { 53 u.u_error = ENXIO; 54 return; 55 } 56 (*cdevsw[major(u.u_ttyd)].d_ioctl)(u.u_ttyd, cmd, addr, flag); 57 } 58