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