diff srogue/bsdtty.c @ 36:2128c7dc8a40

Import Super-Rogue 9.0 from the Roguelike Restoration Project (r1490)
author elwin
date Thu, 25 Nov 2010 12:21:41 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/srogue/bsdtty.c	Thu Nov 25 12:21:41 2010 +0000
@@ -0,0 +1,121 @@
+/*
+ * 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);
+}