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