1*3117Swnj /* tty_tty.c 4.3 81/03/09 */ 235Sbill 335Sbill /* 4*3117Swnj * Indirect driver for controlling tty. 535Sbill */ 635Sbill #include "../h/param.h" 735Sbill #include "../h/systm.h" 835Sbill #include "../h/conf.h" 935Sbill #include "../h/dir.h" 1035Sbill #include "../h/user.h" 1135Sbill #include "../h/tty.h" 1235Sbill #include "../h/proc.h" 1335Sbill 1435Sbill /*ARGSUSED*/ 1535Sbill syopen(dev, flag) 1635Sbill { 1735Sbill 182305Swnj if(u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) { 1935Sbill u.u_error = ENXIO; 2035Sbill return; 2135Sbill } 2235Sbill (*cdevsw[major(u.u_ttyd)].d_open)(u.u_ttyd, flag); 2335Sbill } 2435Sbill 2535Sbill /*ARGSUSED*/ 2635Sbill syread(dev) 2735Sbill { 2835Sbill 292305Swnj if (u.u_procp->p_flag&SDETACH) { 302305Swnj u.u_error = ENXIO; 312305Swnj return; 322305Swnj } 3335Sbill (*cdevsw[major(u.u_ttyd)].d_read)(u.u_ttyd); 3435Sbill } 3535Sbill 3635Sbill /*ARGSUSED*/ 3735Sbill sywrite(dev) 3835Sbill { 3935Sbill 402305Swnj if (u.u_procp->p_flag&SDETACH) { 412305Swnj u.u_error = ENXIO; 422305Swnj return; 432305Swnj } 4435Sbill (*cdevsw[major(u.u_ttyd)].d_write)(u.u_ttyd); 4535Sbill } 4635Sbill 4735Sbill /*ARGSUSED*/ 4835Sbill syioctl(dev, cmd, addr, flag) 4935Sbill caddr_t addr; 5035Sbill { 5135Sbill 522305Swnj if (u.u_procp->p_flag&SDETACH) { 532305Swnj u.u_error = ENXIO; 542305Swnj return; 552305Swnj } 5635Sbill (*cdevsw[major(u.u_ttyd)].d_ioctl)(u.u_ttyd, cmd, addr, flag); 5735Sbill } 58