AUSAM/sys106/dmr/sys.c

Compare this file to the similar file:
Show the results in this format:

#
/*
 */

/*
 *	indirect driver for controlling tty.
 */
#include "../defines.h"
#include "../param.h"
#include "../conf.h"
#include "../user.h"
#include "../tty.h"
#include "../proc.h"

syopen(dev, flag)
{
	register struct tty *tp;	/* fix000 */

	if(tp = syttyp())
	(*cdevsw[tp->t_dev.d_major].d_open)(tp->t_dev, flag);
}

syread(dev)
{
	register struct tty *tp;	/* fix000 */

	if(tp = syttyp())
	(*cdevsw[tp->t_dev.d_major].d_read)(tp->t_dev);
}

sywrite(dev)
{
	register struct tty *tp;	/* fix000 */

	if(tp = syttyp())
	(*cdevsw[tp->t_dev.d_major].d_write)(tp->t_dev);
}

sysgtty(dev, flag)
{
	register struct tty *tp;	/* fix000 */

	if(tp = syttyp())
	(*cdevsw[tp->t_dev.d_major].d_sgtty)(tp->t_dev, flag);
}

syttyp()
{
	register struct tty *tp;	/* fix000 */

	tp = u.u_procp->p_ttyp;
	if(tp == NULL)
		u.u_error = ENXIO;
	return(tp);
}