1/*	$NetBSD: command_table.h,v 1.7 2021/02/13 08:14:46 rillig Exp $	*/
2
3/*-
4 * Copyright 2009 Brett Lymn <blymn@NetBSD.org>
5 * Copyright 2021 Roland Illig <rillig@NetBSD.org>
6 *
7 * All rights reserved.
8 *
9 * This code has been donated to The NetBSD Foundation by the Author.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 *    notice, this list of conditions and the following disclaimer.
16 * 2. The name of the author may not be used to endorse or promote products
17 *    derived from this software without specific prior written permission
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31#ifndef CTF_COMMAND_TABLE_H
32#define	CTF_COMMAND_TABLE_H
33
34#include "curses_commands.h"
35
36static const char *restricted_commands[] = {
37	"filter", "ripoffline", "use_env",
38	"slk_init", "initscr", "newterm"
39};
40
41size_t nrcmds = sizeof(restricted_commands) / sizeof(char *);
42
43/*
44 * Curses commands
45 */
46struct command_def commands[] = {
47	{"filter", cmd_filter},
48	{"ripoffline", cmd_ripoffline},
49	{"use_env", cmd_use_env},
50	{"slk_init", cmd_slk_init},
51	{"DRAIN", cmd_DRAIN},
52	{"addbytes", cmd_addbytes},
53	{"addch", cmd_addch},
54	{"addchnstr", cmd_addchnstr},
55	{"addchstr", cmd_addchstr},
56	{"addnstr", cmd_addnstr},
57	{"addstr", cmd_addstr},
58	{"attr_get", cmd_attr_get},
59	{"attr_off", cmd_attr_off},
60	{"attr_on", cmd_attr_on},
61	{"attr_set", cmd_attr_set},
62	{"attroff", cmd_attroff},
63	{"attron", cmd_attron},
64	{"attrset", cmd_attrset},
65	{"bkgd", cmd_bkgd},
66	{"bkgdset", cmd_bkgdset},
67	{"border", cmd_border},
68	{"clear", cmd_clear},
69	{"clrtobot", cmd_clrtobot},
70	{"clrtoeol", cmd_clrtoeol},
71	{"color_set", cmd_color_set},
72	{"delch", cmd_delch},
73	{"deleteln", cmd_deleteln},
74	{"echochar", cmd_echochar},
75	{"erase", cmd_erase},
76	{"getch", cmd_getch},
77	{"getnstr", cmd_getnstr},
78	{"getstr", cmd_getstr},
79	{"inch", cmd_inch},
80	{"inchnstr", cmd_inchnstr},
81	{"inchstr", cmd_inchstr},
82	{"innstr", cmd_innstr},
83	{"insch", cmd_insch},
84	{"insdelln", cmd_insdelln},
85	{"insertln", cmd_insertln},
86	{"instr", cmd_instr},
87	{"move", cmd_move},
88	{"refresh", cmd_refresh},
89	{"scrl", cmd_scrl},
90	{"setscrreg", cmd_setscrreg},
91	{"standend", cmd_standend},
92	{"standout", cmd_standout},
93	{"timeout", cmd_timeout},
94	{"underscore", cmd_underscore},
95	{"underend", cmd_underend},
96	{"waddbytes", cmd_waddbytes},
97	{"waddstr", cmd_waddstr},
98	{"mvaddbytes", cmd_mvaddbytes},
99	{"mvaddch", cmd_mvaddch},
100	{"mvaddchnstr", cmd_mvaddchnstr},
101	{"mvaddchstr", cmd_mvaddchstr},
102	{"mvaddnstr", cmd_mvaddnstr},
103	{"mvaddstr", cmd_mvaddstr},
104	{"mvdelch", cmd_mvdelch},
105	{"mvgetch", cmd_mvgetch},
106	{"mvgetnstr", cmd_mvgetnstr},
107	{"mvgetstr", cmd_mvgetstr},
108	{"mvinch", cmd_mvinch},
109	{"mvinchnstr", cmd_mvinchnstr},
110	{"mvinchstr", cmd_mvinchstr},
111	{"mvinnstr", cmd_mvinnstr},
112	{"mvinsch", cmd_mvinsch},
113	{"mvinstr", cmd_mvinstr},
114	{"mvwaddbytes", cmd_mvwaddbytes},
115	{"mvwaddch", cmd_mvwaddch},
116	{"mvwaddchnstr", cmd_mvwaddchnstr},
117	{"mvwaddchstr", cmd_mvwaddchstr},
118	{"mvwaddnstr", cmd_mvwaddnstr},
119	{"mvwaddstr", cmd_mvwaddstr},
120	{"mvwdelch", cmd_mvwdelch},
121	{"mvwgetch", cmd_mvwgetch},
122	{"mvwgetnstr", cmd_mvwgetnstr},
123	{"mvwgetstr", cmd_mvwgetstr},
124	{"mvwinch", cmd_mvwinch},
125	{"mvwinsch", cmd_mvwinsch},
126	{"assume_default_colors", cmd_assume_default_colors},
127	{"baudrate", cmd_baudrate},
128	{"beep", cmd_beep},
129	{"box", cmd_box},
130	{"can_change_color", cmd_can_change_color},
131	{"cbreak", cmd_cbreak},
132	{"clearok", cmd_clearok},
133	{"color_content", cmd_color_content},
134	{"copywin", cmd_copywin},
135	{"curs_set", cmd_curs_set},
136	{"def_prog_mode", cmd_def_prog_mode},
137	{"def_shell_mode", cmd_def_shell_mode},
138	{"define_key", cmd_define_key},
139	{"delay_output", cmd_delay_output},
140	{"delscreen", cmd_delscreen},
141	{"delwin", cmd_delwin},
142	{"derwin", cmd_derwin},
143	{"dupwin", cmd_dupwin},
144	{"doupdate", cmd_doupdate},
145	{"echo", cmd_echo},
146	{"endwin", cmd_endwin},
147	{"erasechar", cmd_erasechar},
148	{"flash", cmd_flash},
149	{"flushinp", cmd_flushinp},
150	{"flushok", cmd_flushok},
151	{"fullname", cmd_fullname},
152	{"getattrs", cmd_getattrs},
153	{"getbkgd", cmd_getbkgd},
154	{"getcury", cmd_getcury},
155	{"getcurx", cmd_getcurx},
156	{"getyx", cmd_getyx},
157	{"getbegy", cmd_getbegy},
158	{"getbegx", cmd_getbegx},
159	{"getmaxy", cmd_getmaxy},
160	{"getmaxx", cmd_getmaxx},
161	{"getpary", cmd_getpary},
162	{"getparx", cmd_getparx},
163	{"getparyx", cmd_getparyx},
164	{"getmaxyx", cmd_getmaxyx},
165	{"getbegyx", cmd_getbegyx},
166	{"setsyx", cmd_setsyx},
167	{"getsyx", cmd_getsyx},
168	{"gettmode", cmd_gettmode},
169	{"getwin", cmd_getwin},
170	{"halfdelay", cmd_halfdelay},
171	{"has_colors", cmd_has_colors},
172	{"has_ic", cmd_has_ic},
173	{"has_il", cmd_has_il},
174	{"hline", cmd_hline},
175	{"idcok", cmd_idcok},
176	{"idlok", cmd_idlok},
177	{"init_color", cmd_init_color},
178	{"init_pair", cmd_init_pair},
179	{"initscr", cmd_initscr},
180	{"intrflush", cmd_intrflush},
181	{"isendwin", cmd_isendwin},
182	{"is_linetouched", cmd_is_linetouched},
183	{"is_wintouched", cmd_is_wintouched},
184	{"keyok", cmd_keyok},
185	{"keypad", cmd_keypad},
186	{"is_keypad", cmd_is_keypad},
187	{"keyname", cmd_keyname},
188	{"killchar", cmd_killchar},
189	{"leaveok", cmd_leaveok},
190	{"is_leaveok", cmd_is_leaveok},
191	{"meta", cmd_meta},
192	{"mvcur", cmd_mvcur},
193	{"mvderwin", cmd_mvderwin},
194	{"mvhline", cmd_mvhline},
195	{"mvprintw", cmd_mvprintw},
196	{"mvscanw", cmd_mvscanw},
197	{"mvvline", cmd_mvvline},
198	{"mvwhline", cmd_mvwhline},
199	{"mvwvline", cmd_mvwvline},
200	{"mvwin", cmd_mvwin},
201	{"mvwinchnstr", cmd_mvwinchnstr},
202	{"mvwinchstr", cmd_mvwinchstr},
203	{"mvwinnstr", cmd_mvwinnstr},
204	{"mvwinstr", cmd_mvwinstr},
205	{"mvwprintw", cmd_mvwprintw},
206	{"mvwscanw", cmd_mvwscanw},
207	{"napms", cmd_napms},
208	{"newpad", cmd_newpad},
209	{"newterm", cmd_newterm},
210	{"newwin", cmd_newwin},
211	{"nl", cmd_nl},
212	{"no_color_attributes", cmd_no_color_attributes},
213	{"nocbreak", cmd_nocbreak},
214	{"nodelay", cmd_nodelay},
215	{"noecho", cmd_noecho},
216	{"nonl", cmd_nonl},
217	{"noqiflush", cmd_noqiflush},
218	{"noraw", cmd_noraw},
219	{"notimeout", cmd_notimeout},
220	{"overlay", cmd_overlay},
221	{"overwrite", cmd_overwrite},
222	{"pair_content", cmd_pair_content},
223	{"pechochar", cmd_pechochar},
224	{"pnoutrefresh", cmd_pnoutrefresh},
225	{"prefresh", cmd_prefresh},
226	{"printw", cmd_printw},
227	{"putwin", cmd_putwin},
228	{"qiflush", cmd_qiflush},
229	{"raw", cmd_raw},
230	{"redrawwin", cmd_redrawwin},
231	{"reset_prog_mode", cmd_reset_prog_mode},
232	{"reset_shell_mode", cmd_reset_shell_mode},
233	{"resetty", cmd_resetty},
234	{"resizeterm", cmd_resizeterm},
235	{"savetty", cmd_savetty},
236	{"scanw", cmd_scanw},
237	{"scroll", cmd_scroll},
238	{"scrollok", cmd_scrollok},
239	{"setterm", cmd_setterm},
240	{"set_term", cmd_set_term},
241	{"start_color", cmd_start_color},
242	{"subpad", cmd_subpad},
243	{"subwin", cmd_subwin},
244	{"termattrs", cmd_termattrs},
245	{"term_attrs", cmd_term_attrs},
246	{"touchline", cmd_touchline},
247	{"touchoverlap", cmd_touchoverlap},
248	{"touchwin", cmd_touchwin},
249	{"ungetch", cmd_ungetch},
250	{"untouchwin", cmd_untouchwin},
251	{"use_default_colors", cmd_use_default_colors},
252	{"vline", cmd_vline},
253	{"vw_printw", cmd_vw_printw},
254	{"vw_scanw", cmd_vw_scanw},
255	{"vwprintw", cmd_vwprintw},
256	{"vwscanw", cmd_vwscanw},
257	{"waddch", cmd_waddch},
258	{"waddchnstr", cmd_waddchnstr},
259	{"waddchstr", cmd_waddchstr},
260	{"waddnstr", cmd_waddnstr},
261	{"wattr_get", cmd_wattr_get},
262	{"wattr_off", cmd_wattr_off},
263	{"wattr_on", cmd_wattr_on},
264	{"wattr_set", cmd_wattr_set},
265	{"wattroff", cmd_wattroff},
266	{"wattron", cmd_wattron},
267	{"wattrset", cmd_wattrset},
268	{"wbkgd", cmd_wbkgd},
269	{"wbkgdset", cmd_wbkgdset},
270	{"wborder", cmd_wborder},
271	{"wclear", cmd_wclear},
272	{"wclrtobot", cmd_wclrtobot},
273	{"wclrtoeol", cmd_wclrtoeol},
274	{"wcolor_set", cmd_wcolor_set},
275	{"wdelch", cmd_wdelch},
276	{"wdeleteln", cmd_wdeleteln},
277	{"wechochar", cmd_wechochar},
278	{"werase", cmd_werase},
279	{"wgetch", cmd_wgetch},
280	{"wgetnstr", cmd_wgetnstr},
281	{"wgetstr", cmd_wgetstr},
282	{"whline", cmd_whline},
283	{"winch", cmd_winch},
284	{"winchnstr", cmd_winchnstr},
285	{"winchstr", cmd_winchstr},
286	{"winnstr", cmd_winnstr},
287	{"winsch", cmd_winsch},
288	{"winsdelln", cmd_winsdelln},
289	{"winsertln", cmd_winsertln},
290	{"winstr", cmd_winstr},
291	{"wmove", cmd_wmove},
292	{"wnoutrefresh", cmd_wnoutrefresh},
293	{"wprintw", cmd_wprintw},
294	{"wredrawln", cmd_wredrawln},
295	{"wrefresh", cmd_wrefresh},
296	{"wresize", cmd_wresize},
297	{"wscanw", cmd_wscanw},
298	{"wscrl", cmd_wscrl},
299	{"wsetscrreg", cmd_wsetscrreg},
300	{"wstandend", cmd_wstandend},
301	{"wstandout", cmd_wstandout},
302	{"wtimeout", cmd_wtimeout},
303	{"wtouchln", cmd_wtouchln},
304	{"wunderend", cmd_wunderend},
305	{"wunderscore", cmd_wunderscore},
306	{"wvline", cmd_wvline},
307	{"insnstr", cmd_insnstr},
308	{"insstr", cmd_insstr},
309	{"mvinsnstr", cmd_mvinsnstr},
310	{"mvinsstr", cmd_mvinsstr},
311	{"mvwinsnstr", cmd_mvwinsnstr},
312	{"mvwinsstr", cmd_mvwinsstr},
313	{"winsnstr", cmd_winsnstr},
314	{"winsstr", cmd_winsstr},
315	{"chgat", cmd_chgat},
316	{"wchgat", cmd_wchgat},
317	{"mvchgat", cmd_mvchgat},
318	{"mvwchgat", cmd_mvwchgat},
319	{"add_wch", cmd_add_wch},
320	{"wadd_wch", cmd_wadd_wch},
321	{"mvadd_wch", cmd_mvadd_wch},
322	{"mvwadd_wch", cmd_mvwadd_wch},
323	{"add_wchnstr", cmd_add_wchnstr},
324	{"add_wchstr", cmd_add_wchstr},
325	{"wadd_wchnstr", cmd_wadd_wchnstr},
326	{"wadd_wchstr", cmd_wadd_wchstr},
327	{"mvadd_wchnstr", cmd_mvadd_wchnstr},
328	{"mvadd_wchstr", cmd_mvadd_wchstr},
329	{"mvwadd_wchnstr", cmd_mvwadd_wchnstr},
330	{"mvwadd_wchstr", cmd_mvwadd_wchstr},
331	{"addnwstr", cmd_addnwstr},
332	{"addwstr", cmd_addwstr},
333	{"mvaddnwstr", cmd_mvaddnwstr},
334	{"mvaddwstr", cmd_mvaddwstr},
335	{"mvwaddnwstr", cmd_mvwaddnwstr},
336	{"mvwaddwstr", cmd_mvwaddwstr},
337	{"waddnwstr", cmd_waddnwstr},
338	{"waddwstr", cmd_waddwstr},
339	{"echo_wchar", cmd_echo_wchar},
340	{"wecho_wchar", cmd_wecho_wchar},
341	{"pecho_wchar", cmd_pecho_wchar},
342	{"ins_wch", cmd_ins_wch},
343	{"wins_wch", cmd_wins_wch},
344	{"mvins_wch", cmd_mvins_wch},
345	{"mvwins_wch", cmd_mvwins_wch},
346	{"ins_nwstr", cmd_ins_nwstr},
347	{"ins_wstr", cmd_ins_wstr},
348	{"mvins_nwstr", cmd_mvins_nwstr},
349	{"mvins_wstr", cmd_mvins_wstr},
350	{"mvwins_nwstr", cmd_mvwins_nwstr},
351	{"mvwins_wstr", cmd_mvwins_wstr},
352	{"wins_nwstr", cmd_wins_nwstr},
353	{"wins_wstr", cmd_wins_wstr},
354	{"get_wch", cmd_get_wch},
355	{"unget_wch", cmd_unget_wch},
356	{"mvget_wch", cmd_mvget_wch},
357	{"mvwget_wch", cmd_mvwget_wch},
358	{"wget_wch", cmd_wget_wch},
359	{"getn_wstr", cmd_getn_wstr},
360	{"get_wstr", cmd_get_wstr},
361	{"mvgetn_wstr", cmd_mvgetn_wstr},
362	{"mvget_wstr", cmd_mvget_wstr},
363	{"mvwgetn_wstr", cmd_mvwgetn_wstr},
364	{"mvwget_wstr", cmd_mvwget_wstr},
365	{"wgetn_wstr", cmd_wgetn_wstr},
366	{"wget_wstr", cmd_wget_wstr},
367	{"in_wch", cmd_in_wch},
368	{"mvin_wch", cmd_mvin_wch},
369	{"mvwin_wch", cmd_mvwin_wch},
370	{"win_wch", cmd_win_wch},
371	{"in_wchnstr", cmd_in_wchnstr},
372	{"in_wchstr", cmd_in_wchstr},
373	{"mvin_wchnstr", cmd_mvin_wchnstr},
374	{"mvin_wchstr", cmd_mvin_wchstr},
375	{"mvwin_wchnstr", cmd_mvwin_wchnstr},
376	{"mvwin_wchstr", cmd_mvwin_wchstr},
377	{"win_wchnstr", cmd_win_wchnstr},
378	{"win_wchstr", cmd_win_wchstr},
379	{"innwstr", cmd_innwstr},
380	{"inwstr", cmd_inwstr},
381	{"mvinnwstr", cmd_mvinnwstr},
382	{"mvinwstr", cmd_mvinwstr},
383	{"mvwinnwstr", cmd_mvwinnwstr},
384	{"mvwinwstr", cmd_mvwinwstr},
385	{"winnwstr", cmd_winnwstr},
386	{"winwstr", cmd_winwstr},
387	{"setcchar", cmd_setcchar},
388	{"getcchar", cmd_getcchar},
389	{"key_name", cmd_key_name},
390	{"border_set", cmd_border_set},
391	{"wborder_set", cmd_wborder_set},
392	{"box_set", cmd_box_set},
393	{"erasewchar", cmd_erasewchar},
394	{"killwchar", cmd_killwchar},
395	{"hline_set", cmd_hline_set},
396	{"mvhline_set", cmd_mvhline_set},
397	{"mvvline_set", cmd_mvvline_set},
398	{"mvwhline_set", cmd_mvwhline_set},
399	{"mvwvline_set", cmd_mvwvline_set},
400	{"vline_set", cmd_vline_set},
401	{"whline_set", cmd_whline_set},
402	{"wvline_set", cmd_wvline_set},
403	{"bkgrnd", cmd_bkgrnd},
404	{"bkgrndset", cmd_bkgrndset},
405	{"getbkgrnd", cmd_getbkgrnd},
406	{"wbkgrnd", cmd_wbkgrnd},
407	{"wbkgrndset", cmd_wbkgrndset},
408	{"wgetbkgrnd", cmd_wgetbkgrnd},
409	{"immedok", cmd_immedok},
410	{"syncok", cmd_syncok},
411	{"wcursyncup", cmd_wcursyncup},
412	{"wsyncup", cmd_wsyncup},
413	{"wsyncdown", cmd_wsyncdown},
414	{"slk_attroff", cmd_slk_attroff},
415	{"slk_attr_off", cmd_slk_attr_off},
416	{"slk_attron", cmd_slk_attron},
417	{"slk_attr_on", cmd_slk_attr_on},
418	{"slk_attrset", cmd_slk_attrset},
419	{"slk_attr_set", cmd_slk_attr_set},
420	{"slk_clear", cmd_slk_clear},
421	{"slk_color", cmd_slk_color},
422	{"slk_label", cmd_slk_label},
423	{"slk_noutrefresh", cmd_slk_noutrefresh},
424	{"slk_refresh", cmd_slk_refresh},
425	{"slk_restore", cmd_slk_restore},
426	{"slk_set", cmd_slk_set},
427	{"slk_touch", cmd_slk_touch},
428	{"slk_wset", cmd_slk_wset},
429};
430
431size_t ncmds = sizeof(commands) / sizeof(struct command_def);
432
433#endif
434