VTparse.h revision f2e35a3a
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 */
49typedef unsigned char PARSE_T;
50
51extern Const PARSE_T ansi_table[];
52extern Const PARSE_T cigtable[];
53extern Const PARSE_T csi2_table[];
54extern Const PARSE_T csi_ex_table[];
55extern Const PARSE_T csi_quo_table[];
56extern Const PARSE_T csi_sp_table[];
57extern Const PARSE_T csi_table[];
58extern Const PARSE_T dec2_table[];
59extern Const PARSE_T dec3_table[];
60extern Const PARSE_T dec_table[];
61extern Const PARSE_T eigtable[];
62extern Const PARSE_T esc_sp_table[];
63extern Const PARSE_T esc_table[];
64extern Const PARSE_T scrtable[];
65extern Const PARSE_T scs96table[];
66extern Const PARSE_T scstable[];
67extern Const PARSE_T sos_table[];
68extern Const PARSE_T csi_dec_dollar_table[];
69extern Const PARSE_T csi_tick_table[];
70
71#if OPT_DEC_RECTOPS
72extern Const PARSE_T csi_dollar_table[];
73extern Const PARSE_T csi_star_table[];
74#endif /* OPT_DEC_LOCATOR */
75
76#if OPT_VT52_MODE
77extern Const PARSE_T vt52_table[];
78extern Const PARSE_T vt52_esc_table[];
79extern Const PARSE_T vt52_ignore_table[];
80#endif
81
82#if OPT_WIDE_CHARS
83extern Const PARSE_T esc_pct_table[];
84extern Const PARSE_T scs_amp_table[];
85extern Const PARSE_T scs_pct_table[];
86extern Const PARSE_T scs_2qt_table[];
87#endif
88
89#if OPT_XTERM_SGR
90extern Const PARSE_T csi_hash_table[];
91#endif
92
93#include <VTparse.hin>
94
95#endif /* included_VTparse_h */
96