VTparse.h revision 5104ee6e
1/* $XTermId: VTparse.h,v 1.73 2024/09/02 16:06:16 tom Exp $ */
2
3/*
4 * Copyright 1996-2023,2024 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/*
39 * PARSE_T has to be large enough to handle the number of cases enumerated here.
40 */
41typedef unsigned char PARSE_T;
42
43extern const PARSE_T ansi_table[];
44extern const PARSE_T cigtable[];
45extern const PARSE_T csi2_table[];
46extern const PARSE_T csi_amp_table[];
47extern const PARSE_T csi_dec_dollar_table[];
48extern const PARSE_T csi_ex_table[];
49extern const PARSE_T csi_quo_table[];
50extern const PARSE_T csi_sp_table[];
51extern const PARSE_T csi_table[];
52extern const PARSE_T csi_tick_table[];
53extern const PARSE_T dec2_table[];
54extern const PARSE_T dec3_table[];
55extern const PARSE_T dec_table[];
56extern const PARSE_T eigtable[];
57extern const PARSE_T esc_sp_table[];
58extern const PARSE_T esc_table[];
59extern const PARSE_T scrtable[];
60extern const PARSE_T scs96table[];
61extern const PARSE_T scstable[];
62extern const PARSE_T sos_table[];
63
64#if OPT_DEC_RECTOPS
65extern const PARSE_T csi_dollar_table[];
66extern const PARSE_T csi_star_table[];
67#endif /* OPT_DEC_LOCATOR */
68
69#if OPT_VT52_MODE
70extern const PARSE_T vt52_table[];
71extern const PARSE_T vt52_esc_table[];
72extern const PARSE_T vt52_ignore_table[];
73#endif
74
75#if OPT_VT525_COLORS
76extern const PARSE_T csi_comma_table[];
77#endif
78
79#if OPT_WIDE_CHARS
80extern const PARSE_T esc_pct_table[];
81extern const PARSE_T scs_amp_table[];
82extern const PARSE_T scs_pct_table[];
83extern const PARSE_T scs_2qt_table[];
84#endif
85
86#if OPT_XTERM_SGR
87extern const PARSE_T csi_hash_table[];
88#endif
89
90#include <VTparse.hin>
91
92#endif /* included_VTparse_h */
93