Annotation of early-roguelike/srogue/bsdtty.c, Revision 1.1.1.1
1.1 rubenllo 1: /*
2: * Super-Rogue
3: * Copyright (C) 1984 Robert D. Kindelberger
4: * All rights reserved.
5: *
6: * See the file LICENSE.TXT for full copyright and licensing information.
7: */
8:
9: #include "rogue.h"
10:
11: extern bool NONL;
12:
13: raw()
14: {
15: /*
16: VERSION 5.0
17: _tty.c_lflag &= ~ICANON;
18: _tty.c_cc[VMIN] = 1;
19: _tty.c_cc[VTIME] = 255;
20: _tty.c_oflag &= ~OPOST;
21: */
22: _rawmode = TRUE;
23: _tty.sg_flags |= CBREAK;
24: ioctl(_tty_ch, TIOCSETN, &_tty);
25: }
26:
27:
28: noraw()
29: {
30: /*
31: VERSION 5.0
32: _tty.c_lflag |= ICANON;
33: _tty.c_cc[VMIN] = _res_flg.c_cc[VMIN];
34: _tty.c_cc[VTIME] = _res_flg.c_cc[VTIME];
35: _tty.c_oflag |= OPOST;
36: */
37: _rawmode = FALSE;
38: _tty.sg_flags &= ~CBREAK;
39: ioctl(_tty_ch, TIOCSETN, &_tty);
40: }
41:
42:
43: crmode()
44: {
45: /*
46: VERSION 5.0
47: _tty.c_lflag &= ~ICANON;
48: _tty.c_oflag |= ONLCR;
49: _tty.c_cc[VMIN] = 1;
50: _tty.c_cc[VTIME]=255;
51: */
52: _rawmode = TRUE;
53: _tty.sg_flags |= (CBREAK | CRMOD);
54: ioctl(_tty_ch, TIOCSETN, &_tty);
55: }
56:
57:
58: nocrmode()
59: {
60: /*
61: _tty.c_lflag |= ICANON;
62: _tty.c_cc[VMIN]=_res_flg.c_cc[VMIN];
63: _tty.c_cc[VTIME]=_res_flg.c_cc[VTIME];
64: */
65: _rawmode = FALSE;
66: _tty.sg_flags &= ~CBREAK;
67: ioctl(_tty_ch, TIOCSETN, &_tty);
68: }
69:
70:
71: echo()
72: {
73: _tty.sg_flags |= ECHO;
74: _echoit=TRUE;
75: ioctl(_tty_ch, TIOCSETN, &_tty);
76: }
77:
78: noecho()
79: {
80: _tty.sg_flags &= ~ECHO;
81: _echoit = FALSE;
82: ioctl(_tty_ch, TIOCSETN, &_tty);
83: }
84:
85:
86: nl()
87: {
88: /*
89: VERSION 5.0
90: _tty.c_iflag |= ICRNL;
91: _tty.c_oflag |= ONLCR;
92: */
93: _tty.sg_flags |= CRMOD;
94: NONL = TRUE;
95: ioctl(_tty_ch, TIOCSETN, &_tty);
96: }
97:
98:
99: nonl()
100: {
101: /*
102: VERSION 5.0
103: _tty.c_iflag &= ~ICRNL;
104: _tty.c_oflag &= ~ONLCR;
105: */
106: _tty.sg_flags &= ~CRMOD;
107: NONL = FALSE;
108: ioctl(_tty_ch, TIOCSETN, &_tty);
109: }
110:
111: savetty()
112: {
113: ioctl(_tty_ch, TIOCGETP, &_tty);
114: _res_flg = _tty;
115: }
116:
117: resetty()
118: {
119: _tty = _res_flg;
120: ioctl(_tty_ch, TIOCSETN, &_tty);
121: }
CVSweb