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 
36 static const char *restricted_commands[] = {
37           "filter", "ripoffline", "use_env",
38           "slk_init", "initscr", "newterm"
39 };
40 
41 size_t nrcmds = sizeof(restricted_commands) / sizeof(char *);
42 
43 /*
44  * Curses commands
45  */
46 struct 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 
431 size_t ncmds = sizeof(commands) / sizeof(struct command_def);
432 
433 #endif
434