1 /* $XTermId: VTparse.h,v 1.69 2019/02/10 23:34:21 tom Exp $ */
2 
3 /*
4  * Copyright 1996-2018,2019 by Thomas E. Dickey
5  *
6  *                         All Rights Reserved
7  *
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:
15  *
16  * The above copyright notice and this permission notice shall be included
17  * in all copies or substantial portions of the Software.
18  *
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.
26  *
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
30  * authorization.
31  */
32 
33 #ifndef included_VTparse_h
34 #define included_VTparse_h 1
35 
36 #include <xterm.h>
37 
38 #ifndef Const
39 # if defined(__STDC__) && !defined(__cplusplus)
40 #  define Const const
41 # else
42 #  define Const	/**/
43 # endif
44 #endif
45 
46 /*
47  * PARSE_T has to be large enough to handle the number of cases enumerated here.
48  */
49 typedef unsigned char PARSE_T;
50 
51 extern Const PARSE_T ansi_table[];
52 extern Const PARSE_T cigtable[];
53 extern Const PARSE_T csi2_table[];
54 extern Const PARSE_T csi_ex_table[];
55 extern Const PARSE_T csi_quo_table[];
56 extern Const PARSE_T csi_sp_table[];
57 extern Const PARSE_T csi_table[];
58 extern Const PARSE_T dec2_table[];
59 extern Const PARSE_T dec3_table[];
60 extern Const PARSE_T dec_table[];
61 extern Const PARSE_T eigtable[];
62 extern Const PARSE_T esc_sp_table[];
63 extern Const PARSE_T esc_table[];
64 extern Const PARSE_T scrtable[];
65 extern Const PARSE_T scs96table[];
66 extern Const PARSE_T scstable[];
67 extern Const PARSE_T sos_table[];
68 extern Const PARSE_T csi_dec_dollar_table[];
69 extern Const PARSE_T csi_tick_table[];
70 
71 #if OPT_DEC_RECTOPS
72 extern Const PARSE_T csi_dollar_table[];
73 extern Const PARSE_T csi_star_table[];
74 #endif /* OPT_DEC_LOCATOR */
75 
76 #if OPT_VT52_MODE
77 extern Const PARSE_T vt52_table[];
78 extern Const PARSE_T vt52_esc_table[];
79 extern Const PARSE_T vt52_ignore_table[];
80 #endif
81 
82 #if OPT_WIDE_CHARS
83 extern Const PARSE_T esc_pct_table[];
84 extern Const PARSE_T scs_amp_table[];
85 extern Const PARSE_T scs_pct_table[];
86 extern Const PARSE_T scs_2qt_table[];
87 #endif
88 
89 #if OPT_XTERM_SGR
90 extern Const PARSE_T csi_hash_table[];
91 #endif
92 
93 #include <VTparse.hin>
94 
95 #endif /* included_VTparse_h */
96