Line | |
---|
1 | #include <curses.h>
|
---|
2 | #include "curspriv.h"
|
---|
3 |
|
---|
4 | _PROTOTYPE( static void ttysetflags, (void) );
|
---|
5 |
|
---|
6 | static void ttysetflags()
|
---|
7 | {
|
---|
8 | _tty.c_iflag |= ICRNL | IXON;
|
---|
9 | _tty.c_oflag |= OPOST | ONLCR;
|
---|
10 | _tty.c_lflag |= ECHO | ICANON | IEXTEN | ISIG;
|
---|
11 |
|
---|
12 | if (_cursvar.rawmode) {
|
---|
13 | _tty.c_iflag &= ~(ICRNL | IXON);
|
---|
14 | _tty.c_oflag &= ~(OPOST);
|
---|
15 | _tty.c_lflag &= ~(ICANON | IEXTEN | ISIG);
|
---|
16 | }
|
---|
17 | if (_cursvar.cbrkmode) {
|
---|
18 | _tty.c_lflag &= ~(ICANON);
|
---|
19 | }
|
---|
20 | if (!_cursvar.echoit) {
|
---|
21 | _tty.c_lflag &= ~(ECHO | ECHONL);
|
---|
22 | }
|
---|
23 | if (NONL) {
|
---|
24 | _tty.c_iflag &= ~(ICRNL);
|
---|
25 | _tty.c_oflag &= ~(ONLCR);
|
---|
26 | }
|
---|
27 | tcsetattr(0, TCSANOW, &_tty);
|
---|
28 | } /* ttysetflags */
|
---|
29 |
|
---|
30 | void raw()
|
---|
31 | {
|
---|
32 | _cursvar.rawmode = TRUE;
|
---|
33 | ttysetflags();
|
---|
34 | } /* raw */
|
---|
35 |
|
---|
36 | void noraw()
|
---|
37 | {
|
---|
38 | _cursvar.rawmode = FALSE;
|
---|
39 | ttysetflags();
|
---|
40 | } /* noraw */
|
---|
41 |
|
---|
42 | void echo()
|
---|
43 | {
|
---|
44 | _cursvar.echoit = TRUE;
|
---|
45 | ttysetflags();
|
---|
46 | }
|
---|
47 |
|
---|
48 | void noecho()
|
---|
49 | {
|
---|
50 | _cursvar.echoit = FALSE;
|
---|
51 | ttysetflags();
|
---|
52 | }
|
---|
53 |
|
---|
54 | void nl()
|
---|
55 | {
|
---|
56 | NONL = FALSE;
|
---|
57 | ttysetflags();
|
---|
58 | } /* nl */
|
---|
59 |
|
---|
60 | void nonl()
|
---|
61 | {
|
---|
62 | NONL = TRUE;
|
---|
63 | ttysetflags();
|
---|
64 | } /* nonl */
|
---|
65 |
|
---|
66 | void cbreak()
|
---|
67 | {
|
---|
68 | _cursvar.cbrkmode = TRUE;
|
---|
69 | ttysetflags();
|
---|
70 | } /* cbreak */
|
---|
71 |
|
---|
72 | void nocbreak()
|
---|
73 | {
|
---|
74 | _cursvar.cbrkmode = FALSE;
|
---|
75 | ttysetflags();
|
---|
76 | } /* nocbreak */
|
---|
Note:
See
TracBrowser
for help on using the repository browser.