view srogue/bsdtty.c @ 134:cfa9d1609b78

xrogue: fix definition of struct delayed_action. Arrays of struct delayed_action were declared before the definition. Also, daemon.c and state.c defined it differently. The state.c definition, in which d_arg is a union, is now used everywhere. This is the least bad option, but fuses and daemons are still a disheartening morass that undoubtedly shelters more bugs.
author John "Elwin" Edwards
date Tue, 21 Apr 2015 10:11:02 -0400
parents 2128c7dc8a40
children
line wrap: on
line source

/*
 * Super-Rogue
 * Copyright (C) 1984 Robert D. Kindelberger
 * All rights reserved.
 *
 * See the file LICENSE.TXT for full copyright and licensing information.
 */

#include "rogue.h"

extern	bool NONL;

raw()
{
/*
	VERSION 5.0
	_tty.c_lflag &= ~ICANON;
	_tty.c_cc[VMIN] = 1;
	_tty.c_cc[VTIME] = 255;
	_tty.c_oflag &= ~OPOST;
*/
	_rawmode = TRUE;
	_tty.sg_flags |= CBREAK;
	ioctl(_tty_ch, TIOCSETN, &_tty);
}


noraw()
{
/*
	VERSION 5.0
	_tty.c_lflag |= ICANON;
	_tty.c_cc[VMIN] = _res_flg.c_cc[VMIN];
	_tty.c_cc[VTIME] = _res_flg.c_cc[VTIME];
	_tty.c_oflag |= OPOST;
*/
	_rawmode = FALSE;
	_tty.sg_flags &= ~CBREAK;
	ioctl(_tty_ch, TIOCSETN, &_tty);
}


crmode()
{
/*
	VERSION 5.0
	_tty.c_lflag &= ~ICANON;
	_tty.c_oflag |= ONLCR;
	_tty.c_cc[VMIN] = 1;
	_tty.c_cc[VTIME]=255;
*/
	_rawmode = TRUE;
	_tty.sg_flags |= (CBREAK | CRMOD);
	ioctl(_tty_ch, TIOCSETN, &_tty);
}


nocrmode()
{
/*
	_tty.c_lflag |= ICANON;
	_tty.c_cc[VMIN]=_res_flg.c_cc[VMIN];
	_tty.c_cc[VTIME]=_res_flg.c_cc[VTIME];
*/
	_rawmode = FALSE;
	_tty.sg_flags &= ~CBREAK;
	ioctl(_tty_ch, TIOCSETN, &_tty);
}


echo()
{
	_tty.sg_flags |= ECHO;
	_echoit=TRUE;
	ioctl(_tty_ch, TIOCSETN, &_tty);
}

noecho()
{
	_tty.sg_flags &= ~ECHO;
	_echoit = FALSE;
	ioctl(_tty_ch, TIOCSETN, &_tty);
}


nl()
{
/*
	VERSION 5.0
	_tty.c_iflag |= ICRNL;
	_tty.c_oflag |= ONLCR;
*/
	_tty.sg_flags |= CRMOD;
	NONL = TRUE;
	ioctl(_tty_ch, TIOCSETN, &_tty);
}


nonl()
{
/*
	VERSION 5.0
	_tty.c_iflag &= ~ICRNL;
	_tty.c_oflag &= ~ONLCR;
*/
	_tty.sg_flags &= ~CRMOD;
	NONL = FALSE;
	ioctl(_tty_ch, TIOCSETN, &_tty);
}

savetty()
{
	ioctl(_tty_ch, TIOCGETP, &_tty);
	_res_flg = _tty;
}

resetty()
{
	_tty = _res_flg;
	ioctl(_tty_ch, TIOCSETN, &_tty);
}