1 /* $XTermId: VTparse.h,v 1.53 2010/08/24 21:27:13 tom Exp $ */
4 * Copyright 2002-2009,2010 by Thomas E. Dickey
8 * Permission is hereby granted, free of charge, to any person obtaining a
9 * copy of this software and associated documentation files (the
10 * "Software"), to deal in the Software without restriction, including
11 * without limitation the rights to use, copy, modify, merge, publish,
12 * distribute, sublicense, and/or sell copies of the Software, and to
13 * permit persons to whom the Software is furnished to do so, subject to
14 * the following conditions:
16 * The above copyright notice and this permission notice shall be included
17 * in all copies or substantial portions of the Software.
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22 * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
23 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 * Except as contained in this notice, the name(s) of the above copyright
28 * holders shall not be used in advertising or otherwise to promote the
29 * sale, use or other dealings in this Software without prior written
33 * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
37 * Permission to use, copy, modify, and distribute this software and its
38 * documentation for any purpose and without fee is hereby granted,
39 * provided that the above copyright notice appear in all copies and that
40 * both that copyright notice and this permission notice appear in
41 * supporting documentation, and that the name of Digital Equipment
42 * Corporation not be used in advertising or publicity pertaining to
43 * distribution of the software without specific, written prior permission.
46 * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
47 * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
48 * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
49 * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
50 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
51 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
55 #ifndef included_VTparse_h
56 #define included_VTparse_h 1
61 # if defined(__STDC__) && !defined(__cplusplus)
69 * PARSE_T has to be large enough to handle the number of cases enumerated here.
71 typedef unsigned char PARSE_T;
73 extern Const PARSE_T ansi_table[];
74 extern Const PARSE_T cigtable[];
75 extern Const PARSE_T csi2_table[];
76 extern Const PARSE_T csi_ex_table[];
77 extern Const PARSE_T csi_quo_table[];
78 extern Const PARSE_T csi_sp_table[];
79 extern Const PARSE_T csi_table[];
80 extern Const PARSE_T dec2_table[];
81 extern Const PARSE_T dec3_table[];
82 extern Const PARSE_T dec_table[];
83 extern Const PARSE_T eigtable[];
84 extern Const PARSE_T esc_sp_table[];
85 extern Const PARSE_T esc_table[];
86 extern Const PARSE_T scrtable[];
87 extern Const PARSE_T scs96table[];
88 extern Const PARSE_T scstable[];
89 extern Const PARSE_T sos_table[];
90 extern Const PARSE_T csi_dec_dollar_table[];
93 extern Const PARSE_T csi_tick_table[];
94 #endif /* OPT_DEC_LOCATOR */
97 extern Const PARSE_T csi_dollar_table[];
98 extern Const PARSE_T csi_star_table[];
99 #endif /* OPT_DEC_LOCATOR */
102 extern Const PARSE_T vt52_table[];
103 extern Const PARSE_T vt52_esc_table[];
104 extern Const PARSE_T vt52_ignore_table[];
108 extern Const PARSE_T esc_pct_table[];
112 * The following list of definitions is generated from VTparse.def using the
113 * following command line:
115 * grep '^CASE_' VTparse.def | awk '{printf "#define %s %d\n", $1, n++}'
117 * If you need to change something, change VTparse.def and regenerate the
118 * definitions. This would have been automatic, but since this doesn't change
119 * very often, it isn't worth the makefile hassle.
122 #define CASE_GROUND_STATE 0
123 #define CASE_IGNORE 1
132 #define CASE_SCR_STATE 10
133 #define CASE_SCS0_STATE 11
134 #define CASE_SCS1_STATE 12
135 #define CASE_SCS2_STATE 13
136 #define CASE_SCS3_STATE 14
137 #define CASE_ESC_IGNORE 15
138 #define CASE_ESC_DIGIT 16
139 #define CASE_ESC_SEMI 17
140 #define CASE_DEC_STATE 18
153 #define CASE_TRACK_MOUSE 31
159 #define CASE_DECSTBM 37
160 #define CASE_DECREQTPARM 38
161 #define CASE_DECSET 39
162 #define CASE_DECRST 40
163 #define CASE_DECALN 41
164 #define CASE_GSETS 42
165 #define CASE_DECSC 43
166 #define CASE_DECRC 44
167 #define CASE_DECKPAM 45
168 #define CASE_DECKPNM 46
175 #define CASE_CSI_STATE 53
183 #define CASE_PRINT 61
184 #define CASE_XTERM_SAVE 62
185 #define CASE_XTERM_RESTORE 63
186 #define CASE_XTERM_TITLE 64
187 #define CASE_DECID 65
188 #define CASE_HP_MEM_LOCK 66
189 #define CASE_HP_MEM_UNLOCK 67
190 #define CASE_HP_BUGGY_LL 68
193 #define CASE_XTERM_WINOPS 71
201 #define CASE_S7C1T 79
202 #define CASE_S8C1T 80
203 #define CASE_ESC_SP_STATE 81
205 #define CASE_DECSCL 83
206 #define CASE_DECSCA 84
207 #define CASE_DECSED 85
208 #define CASE_DECSEL 86
216 #define CASE_CSI_QUOTE_STATE 94
218 #define CASE_ANSI_LEVEL_1 96
219 #define CASE_ANSI_LEVEL_2 97
220 #define CASE_ANSI_LEVEL_3 98
222 #define CASE_DEC2_STATE 100
224 #define CASE_DEC3_STATE 102
225 #define CASE_DECRPTUI 103
226 #define CASE_VT52_CUP 104
228 #define CASE_CSI_EX_STATE 106
229 #define CASE_DECSTR 107
230 #define CASE_DECDHL 108
231 #define CASE_DECSWL 109
232 #define CASE_DECDWL 110
233 #define CASE_DEC_MC 111
234 #define CASE_ESC_PERCENT 112
235 #define CASE_UTF8 113
236 #define CASE_CSI_TICK_STATE 114
237 #define CASE_DECELR 115
238 #define CASE_DECRQLP 116
239 #define CASE_DECEFR 117
240 #define CASE_DECSLE 118
241 #define CASE_CSI_IGNORE 119
242 #define CASE_VT52_IGNORE 120
243 #define CASE_VT52_FINISH 121
244 #define CASE_CSI_DOLLAR_STATE 122
245 #define CASE_DECCRA 123
246 #define CASE_DECERA 124
247 #define CASE_DECFRA 125
248 #define CASE_DECSERA 126
249 #define CASE_DECSACE 127
250 #define CASE_DECCARA 128
251 #define CASE_DECRARA 129
252 #define CASE_CSI_STAR_STATE 130
253 #define CASE_SET_MOD_FKEYS 131
254 #define CASE_SET_MOD_FKEYS0 132
255 #define CASE_HIDE_POINTER 133
256 #define CASE_SCS1A_STATE 134
257 #define CASE_SCS2A_STATE 135
258 #define CASE_SCS3A_STATE 136
259 #define CASE_CSI_SPACE_STATE 137
260 #define CASE_DECSCUSR 138
261 #define CASE_SM_TITLE 139
262 #define CASE_RM_TITLE 140
263 #define CASE_DECSMBV 141
264 #define CASE_DECSWBV 142
265 #define CASE_DECLL 143
266 #define CASE_DECRQM 144
268 #define CASE_CSI_DEC_DOLLAR_STATE 146
270 #endif /* included_VTparse_h */