dropbear: update to 2015.67
[tomato.git] / release / src / router / dropbear / termcodes.c
blob490e6ce04ec40789703dd449c28c5e4ee8f0d0bf
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:
14 * The above copyright notice and this permission notice shall be included in
15 * all copies or substantial portions of the Software.
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. */
25 #include "includes.h"
26 #include "termcodes.h"
28 const struct TermCode termcodes[MAX_TERMCODE+1] = {
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 /* IUTF8 isn't standardised in rfc4254 but is likely soon.
111 * Implemented by linux and darwin */
112 #ifdef IUTF8
113 {IUTF8, TERMCODE_INPUT},
114 #else
115 {0, 0},
116 #endif
117 {0, 0}, /* 43 */
118 {0, 0},
119 {0, 0},
120 {0, 0},
121 {0, 0},
122 {0, 0},
123 {0, 0}, /* 49 */
124 {ISIG, TERMCODE_LOCAL}, /* local flags */
125 {ICANON, TERMCODE_LOCAL},
126 #ifdef XCASE
127 {XCASE, TERMCODE_LOCAL},
128 #else
129 {0, 0},
130 #endif
131 {ECHO, TERMCODE_LOCAL},
132 {ECHOE, TERMCODE_LOCAL},
133 {ECHOK, TERMCODE_LOCAL},
134 {ECHONL, TERMCODE_LOCAL},
135 {NOFLSH, TERMCODE_LOCAL},
136 {TOSTOP, TERMCODE_LOCAL},
137 {IEXTEN, TERMCODE_LOCAL},
138 {ECHOCTL, TERMCODE_LOCAL},
139 {ECHOKE, TERMCODE_LOCAL},
140 #ifdef PENDIN
141 {PENDIN, TERMCODE_LOCAL},
142 #else
143 {0, 0},
144 #endif
145 {0, 0}, /* 63 */
146 {0, 0},
147 {0, 0},
148 {0, 0},
149 {0, 0},
150 {0, 0},
151 {0, 0}, /* 69 */
152 {OPOST, TERMCODE_OUTPUT}, /* output flags */
153 #ifdef OLCUC
154 {OLCUC, TERMCODE_OUTPUT},
155 #else
156 {0, 0},
157 #endif
158 {ONLCR, TERMCODE_OUTPUT},
159 #ifdef OCRNL
160 {OCRNL, TERMCODE_OUTPUT},
161 #else
162 {0, 0},
163 #endif
164 #ifdef ONOCR
165 {ONOCR, TERMCODE_OUTPUT},
166 #else
167 {0, 0},
168 #endif
169 #ifdef ONLRET
170 {ONLRET, TERMCODE_OUTPUT},
171 #else
172 {0, 0},
173 #endif
174 {0, 0}, /* 76 */
175 {0, 0},
176 {0, 0},
177 {0, 0},
178 {0, 0},
179 {0, 0},
180 {0, 0},
181 {0, 0},
182 {0, 0},
183 {0, 0},
184 {0, 0},
185 {0, 0},
186 {0, 0},
187 {0, 0}, /* 89 */
188 {CS7, TERMCODE_CONTROL},
189 {CS8, TERMCODE_CONTROL},
190 {PARENB, TERMCODE_CONTROL},
191 {PARODD, TERMCODE_CONTROL}
192 /* 94 */