xref: /original-bsd/sys/kern/tty_tty.c (revision 6c57d260)
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