1: /*
   2:  * Copyright (c) 1982, 1986 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  *	@(#)tty_tty.c	7.1 (Berkeley) 6/5/86
   7:  */
   8: 
   9: /*
  10:  * Indirect driver for controlling tty.
  11:  *
  12:  * THIS IS GARBAGE: MUST SOON BE DONE WITH struct inode * IN PROC TABLE.
  13:  */
  14: #include "param.h"
  15: #include "systm.h"
  16: #include "conf.h"
  17: #include "dir.h"
  18: #include "user.h"
  19: #include "ioctl.h"
  20: #include "tty.h"
  21: #include "proc.h"
  22: #include "uio.h"
  23: 
  24: /*ARGSUSED*/
  25: syopen(dev, flag)
  26:     dev_t dev;
  27:     int flag;
  28: {
  29: 
  30:     if (u.u_ttyp == NULL)
  31:         return (ENXIO);
  32:     return ((*cdevsw[major(u.u_ttyd)].d_open)(u.u_ttyd, flag));
  33: }
  34: 
  35: /*ARGSUSED*/
  36: syread(dev, uio)
  37:     dev_t dev;
  38:     struct uio *uio;
  39: {
  40: 
  41:     if (u.u_ttyp == NULL)
  42:         return (ENXIO);
  43:     return ((*cdevsw[major(u.u_ttyd)].d_read)(u.u_ttyd, uio));
  44: }
  45: 
  46: /*ARGSUSED*/
  47: sywrite(dev, uio)
  48:     dev_t dev;
  49:     struct uio *uio;
  50: {
  51: 
  52:     if (u.u_ttyp == NULL)
  53:         return (ENXIO);
  54:     return ((*cdevsw[major(u.u_ttyd)].d_write)(u.u_ttyd, uio));
  55: }
  56: 
  57: /*ARGSUSED*/
  58: syioctl(dev, cmd, addr, flag)
  59:     dev_t dev;
  60:     int cmd;
  61:     caddr_t addr;
  62:     int flag;
  63: {
  64: 
  65:     if (cmd == TIOCNOTTY) {
  66:         u.u_ttyp = 0;
  67:         u.u_ttyd = 0;
  68:         u.u_procp->p_pgrp = 0;
  69:         return (0);
  70:     }
  71:     if (u.u_ttyp == NULL)
  72:         return (ENXIO);
  73:     return ((*cdevsw[major(u.u_ttyd)].d_ioctl)(u.u_ttyd, cmd, addr, flag));
  74: }
  75: 
  76: /*ARGSUSED*/
  77: syselect(dev, flag)
  78:     dev_t dev;
  79:     int flag;
  80: {
  81: 
  82:     if (u.u_ttyp == NULL) {
  83:         u.u_error = ENXIO;
  84:         return (0);
  85:     }
  86:     return ((*cdevsw[major(u.u_ttyd)].d_select)(u.u_ttyd, flag));
  87: }

Defined functions

syioctl defined in line 58; used 2 times
syopen defined in line 25; used 2 times
syread defined in line 36; used 2 times
syselect defined in line 77; used 2 times
sywrite defined in line 47; used 2 times
Last modified: 1986-06-05
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 746
Valid CSS Valid XHTML 1.0 Strict