www.usr.com/support/gpl/USR9107_release.1.4.tar.gz
[bcm963xx.git] / userapps / opensource / sshd / termcodes.c
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 };