• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Dropbear - a SSH2 server
3  *
4  * Copyright (c) 2002,2003 Matt Johnston
5  * All rights reserved.
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a copy
8  * of this software and associated documentation files (the "Software"), to deal
9  * in the Software without restriction, including without limitation the rights
10  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11  * copies of the Software, and to permit persons to whom the Software is
12  * furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be included in
15  * all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE. */
24 
25 #include "includes.h"
26 #include "termcodes.h"
27 
28 const struct TermCode termcodes[MAX_TERMCODE+1] = {
29 
30 		{0, 0}, /* TTY_OP_END */
31 		{VINTR, TERMCODE_CONTROLCHAR}, /* control character codes */
32 		{VQUIT, TERMCODE_CONTROLCHAR},
33 		{VERASE, TERMCODE_CONTROLCHAR},
34 		{VKILL, TERMCODE_CONTROLCHAR},
35 		{VEOF, TERMCODE_CONTROLCHAR},
36 		{VEOL, TERMCODE_CONTROLCHAR},
37 		{VEOL2, TERMCODE_CONTROLCHAR},
38 		{VSTART, TERMCODE_CONTROLCHAR},
39 		{VSTOP, TERMCODE_CONTROLCHAR},
40 		{VSUSP, TERMCODE_CONTROLCHAR},
41 #ifdef VDSUSP
42 		{VDSUSP, TERMCODE_CONTROLCHAR},
43 #else
44 		{0, 0},
45 #endif
46 #ifdef VREPRINT
47 		{VREPRINT, TERMCODE_CONTROLCHAR},
48 #else
49 		{0, 0},
50 #endif
51 #ifdef AIX
52 		{CERASE, TERMCODE_CONTROLCHAR},
53 #else
54 		{VWERASE, TERMCODE_CONTROLCHAR},
55 #endif
56 		{VLNEXT, TERMCODE_CONTROLCHAR},
57 #ifdef VFLUSH
58 		{VFLUSH, TERMCODE_CONTROLCHAR},
59 #else
60 		{0, 0},
61 #endif
62 #ifdef VSWTCH
63 		{VSWTCH, TERMCODE_CONTROLCHAR},
64 #else
65 		{0, 0},
66 #endif
67 #ifdef VSTATUS
68 		{VSTATUS, TERMCODE_CONTROLCHAR},
69 #else
70 		{0, 0},
71 #endif
72 #ifdef AIX
73 		{CKILL, TERMCODE_CONTROLCHAR},
74 #elif defined(VDISCARD)
75 		{VDISCARD, TERMCODE_CONTROLCHAR},
76 #else
77 		{0, 0},
78 #endif
79 		{0, 0}, /* 19 */
80 		{0, 0},
81 		{0, 0},
82 		{0, 0},
83 		{0, 0},
84 		{0, 0},
85 		{0, 0},
86 		{0, 0},
87 		{0, 0},
88 		{0, 0},
89 		{0, 0}, /* 29 */
90 		{IGNPAR, TERMCODE_INPUT}, /* input flags */
91 		{PARMRK, TERMCODE_INPUT},
92 		{INPCK, TERMCODE_INPUT},
93 		{ISTRIP, TERMCODE_INPUT},
94 		{INLCR, TERMCODE_INPUT},
95 		{IGNCR, TERMCODE_INPUT},
96 		{ICRNL, TERMCODE_INPUT},
97 #ifdef IUCLC
98 		{IUCLC, TERMCODE_INPUT},
99 #else
100 		{0, 0},
101 #endif
102 		{IXON, TERMCODE_INPUT},
103 		{IXANY, TERMCODE_INPUT},
104 		{IXOFF, TERMCODE_INPUT},
105 #ifdef IMAXBEL
106 		{IMAXBEL, TERMCODE_INPUT},
107 #else
108 		{0, 0},
109 #endif
110 		{0, 0}, /* 42 */
111 		{0, 0},
112 		{0, 0},
113 		{0, 0},
114 		{0, 0},
115 		{0, 0},
116 		{0, 0},
117 		{0, 0}, /* 49 */
118 		{ISIG, TERMCODE_LOCAL}, /* local flags */
119 		{ICANON, TERMCODE_LOCAL},
120 #ifdef XCASE
121 		{XCASE, TERMCODE_LOCAL},
122 #else
123 		{0, 0},
124 #endif
125 		{ECHO, TERMCODE_LOCAL},
126 		{ECHOE, TERMCODE_LOCAL},
127 		{ECHOK, TERMCODE_LOCAL},
128 		{ECHONL, TERMCODE_LOCAL},
129 		{NOFLSH, TERMCODE_LOCAL},
130 		{TOSTOP, TERMCODE_LOCAL},
131 		{IEXTEN, TERMCODE_LOCAL},
132 		{ECHOCTL, TERMCODE_LOCAL},
133 		{ECHOKE, TERMCODE_LOCAL},
134 #ifdef PENDIN
135 		{PENDIN, TERMCODE_LOCAL},
136 #else
137 		{0, 0},
138 #endif
139 		{0, 0}, /* 63 */
140 		{0, 0},
141 		{0, 0},
142 		{0, 0},
143 		{0, 0},
144 		{0, 0},
145 		{0, 0}, /* 69 */
146 		{OPOST, TERMCODE_OUTPUT}, /* output flags */
147 #ifdef OLCUC
148 		{OLCUC, TERMCODE_OUTPUT},
149 #else
150 		{0, 0},
151 #endif
152 		{ONLCR, TERMCODE_OUTPUT},
153 #ifdef OCRNL
154 		{OCRNL, TERMCODE_OUTPUT},
155 #else
156 		{0, 0},
157 #endif
158 #ifdef ONOCR
159 		{ONOCR, TERMCODE_OUTPUT},
160 #else
161 		{0, 0},
162 #endif
163 #ifdef ONLRET
164 		{ONLRET, TERMCODE_OUTPUT},
165 #else
166 		{0, 0},
167 #endif
168 		{0, 0}, /* 76 */
169 		{0, 0},
170 		{0, 0},
171 		{0, 0},
172 		{0, 0},
173 		{0, 0},
174 		{0, 0},
175 		{0, 0},
176 		{0, 0},
177 		{0, 0},
178 		{0, 0},
179 		{0, 0},
180 		{0, 0},
181 		{0, 0}, /* 89 */
182 		{CS7, TERMCODE_CONTROL},
183 		{CS8, TERMCODE_CONTROL},
184 		{PARENB, TERMCODE_CONTROL},
185 		{PARODD, TERMCODE_CONTROL}
186 		/* 94 */
187 };
188