added 'int f_nerr' for external routines. DLW
[unix-history] / usr / src / sys / kern / tty_tty.c
CommitLineData
4460d508 1/* tty_tty.c 4.2 %G% */
63c57592
BJ
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*/
15syopen(dev, flag)
16{
17
4460d508 18 if(u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) {
63c57592
BJ
19 u.u_error = ENXIO;
20 return;
21 }
22 (*cdevsw[major(u.u_ttyd)].d_open)(u.u_ttyd, flag);
23}
24
25/*ARGSUSED*/
26syread(dev)
27{
28
4460d508
BJ
29 if (u.u_procp->p_flag&SDETACH) {
30 u.u_error = ENXIO;
31 return;
32 }
63c57592
BJ
33 (*cdevsw[major(u.u_ttyd)].d_read)(u.u_ttyd);
34}
35
36/*ARGSUSED*/
37sywrite(dev)
38{
39
4460d508
BJ
40 if (u.u_procp->p_flag&SDETACH) {
41 u.u_error = ENXIO;
42 return;
43 }
63c57592
BJ
44 (*cdevsw[major(u.u_ttyd)].d_write)(u.u_ttyd);
45}
46
47/*ARGSUSED*/
48syioctl(dev, cmd, addr, flag)
49caddr_t addr;
50{
51
4460d508
BJ
52 if (u.u_procp->p_flag&SDETACH) {
53 u.u_error = ENXIO;
54 return;
55 }
63c57592
BJ
56 (*cdevsw[major(u.u_ttyd)].d_ioctl)(u.u_ttyd, cmd, addr, flag);
57}