/* $NetBSD: curses_commands.c,v 1.31 2021/12/07 06:55:44 rillig Exp $ */ /*- * Copyright 2009 Brett Lymn * Copyright 2021 Roland Illig * * All rights reserved. * * This code has been donated to The NetBSD Foundation by the Author. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #include #include #include "slave.h" #include "curses_commands.h" static int set_int(const char *arg, int *x) { if (sscanf(arg, "%d", x) == 0) { report_count(1); report_error("BAD ARGUMENT"); return -1; } return 0; } static int set_uint(const char *arg, unsigned int *x) { if (sscanf(arg, "%u", x) == 0) { report_count(1); report_error("BAD ARGUMENT"); return -1; } return 0; } static int set_short(const char *arg, short *x) { if (sscanf(arg, "%hd", x) == 0) { report_count(1); report_error("BAD ARGUMENT"); return -1; } return 0; } static int set_win(const char *arg, WINDOW **x) { if (sscanf(arg, "%p", x) == 0) { report_count(1); report_error("BAD ARGUMENT"); return -1; } return 0; } static int set_scrn(const char *arg, SCREEN **x) { if (sscanf(arg, "%p", x) == 0) { report_count(1); report_error("BAD ARGUMENT"); return -1; } return 0; } #define ARGC(n) \ if (check_arg_count(nargs, n) == 1) \ return #define ARG_SHORT(arg) \ short arg; \ if (set_short(*args++, &arg) != 0) \ return #define ARG_INT(arg) \ int arg; \ if (set_int(*args++, &arg) != 0) \ return #define ARG_UINT(arg) \ unsigned int arg; \ if (set_uint(*args++, &arg) != 0) \ return #define ARG_CHTYPE(arg) \ chtype arg = ((const chtype *)*args++)[0] #define ARG_WCHAR(arg) \ wchar_t arg = ((const wchar_t *)*args++)[0] #define ARG_STRING(arg) \ const char *arg = *args++ /* Only used for legacy interfaces that are missing the 'const'. */ #define ARG_MODIFIABLE_STRING(arg) \ char *arg = *args++ #define ARG_CHTYPE_STRING(arg) \ const chtype *arg = (const chtype *)*args++ #define ARG_CCHAR_STRING(arg) \ const cchar_t *arg = (const cchar_t *)*args++ #define ARG_WCHAR_STRING(arg) \ wchar_t *arg = (wchar_t *)*args++ #define ARG_WINDOW(arg) \ WINDOW *arg; \ if (set_win(*args++, &arg) != 0) \ return #define ARG_SCREEN(arg) \ SCREEN *arg; \ if (set_scrn(*args++, &arg) != 0) \ return /* * These NULL arguments are required by the API, intended for future * extensions, but this implementation does not support any extensions. */ #define ARG_NULL() \ args++ #define ARG_IGNORE() \ args++ void cmd_DRAIN(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); while (wgetch(win) != ERR) continue; report_count(1); report_return(OK); } void cmd_addbytes(int nargs, char **args) { ARGC(2); ARG_STRING(str); ARG_INT(count); report_count(1); report_return(addbytes(str, count)); } void cmd_addch(int nargs, char **args) { ARGC(1); ARG_CHTYPE(ch); report_count(1); report_return(addch(ch)); } void cmd_addchnstr(int nargs, char **args) { ARGC(2); ARG_CHTYPE_STRING(chstr); ARG_INT(count); report_count(1); report_return(addchnstr(chstr, count)); } void cmd_addchstr(int nargs, char **args) { ARGC(1); ARG_CHTYPE_STRING(chstr); report_count(1); report_return(addchstr(chstr)); } void cmd_addnstr(int nargs, char **args) { ARGC(2); ARG_STRING(str); ARG_INT(count); report_count(1); report_return(addnstr(str, count)); } void cmd_addstr(int nargs, char **args) { ARGC(1); ARG_STRING(str); report_count(1); report_return(addstr(str)); } void cmd_attr_get(int nargs, char **args) { attr_t attrs; short colours; int retval; ARGC(0); retval = attr_get(&attrs, &colours, NULL); report_count(3); report_return(retval); report_int(attrs); report_int(colours); } void cmd_attr_off(int nargs, char **args) { ARGC(1); ARG_INT(attrib); report_count(1); report_return(attr_off(attrib, NULL)); } void cmd_attr_on(int nargs, char **args) { ARGC(1); ARG_INT(attrib); report_count(1); report_return(attr_on(attrib, NULL)); } void cmd_attr_set(int nargs, char **args) { ARGC(2); ARG_INT(attrib); ARG_SHORT(pair); report_count(1); report_return(attr_set(attrib, pair, NULL)); } void cmd_attroff(int nargs, char **args) { ARGC(1); ARG_INT(attrib); report_count(1); report_return(attroff(attrib)); } void cmd_attron(int nargs, char **args) { ARGC(1); ARG_INT(attrib); report_count(1); report_return(attron(attrib)); } void cmd_attrset(int nargs, char **args) { ARGC(1); ARG_INT(attrib); report_count(1); report_return(attrset(attrib)); } void cmd_bkgd(int nargs, char **args) { ARGC(1); ARG_CHTYPE(ch); report_count(1); report_return(bkgd(ch)); } void cmd_bkgdset(int nargs, char **args) { ARGC(1); ARG_CHTYPE(ch); bkgdset(ch); /* returns void */ report_count(1); report_return(OK); } void cmd_border(int nargs, char **args) { ARGC(8); ARG_INT(ls); ARG_INT(rs); ARG_INT(ts); ARG_INT(bs); ARG_INT(tl); ARG_INT(tr); ARG_INT(bl); ARG_INT(br); report_count(1); report_return(border(ls, rs, ts, bs, tl, tr, bl, br)); } void cmd_clear(int nargs, char **args) { ARGC(0); report_count(1); report_return(clear()); } void cmd_clrtobot(int nargs, char **args) { ARGC(0); report_count(1); report_return(clrtobot()); } void cmd_clrtoeol(int nargs, char **args) { ARGC(0); report_count(1); report_return(clrtoeol()); } void cmd_color_set(int nargs, char **args) { ARGC(2); ARG_SHORT(colour_pair); ARG_NULL(); report_count(1); report_return(color_set(colour_pair, NULL)); } void cmd_delch(int nargs, char **args) { ARGC(0); report_count(1); report_return(delch()); } void cmd_deleteln(int nargs, char **args) { ARGC(0); report_count(1); report_return(deleteln()); } void cmd_echochar(int nargs, char **args) { ARGC(1); ARG_CHTYPE(ch); /* XXX causes refresh */ report_count(1); report_return(echochar(ch)); } void cmd_erase(int nargs, char **args) { ARGC(0); report_count(1); report_return(erase()); } void cmd_getch(int nargs, char **args) { ARGC(0); /* XXX causes refresh */ report_count(1); report_int(getch()); } void cmd_getnstr(int nargs, char **args) { char *string; ARGC(1); ARG_INT(limit); if ((string = malloc(limit + 1)) == NULL) { report_count(1); report_error("MALLOC_FAILED"); return; } report_count(2); report_return(getnstr(string, limit)); report_status(string); free(string); } void cmd_getstr(int nargs, char **args) { char string[256]; ARGC(0); report_count(2); report_return(getstr(string)); report_status(string); } void cmd_inch(int nargs, char **args) { ARGC(0); report_count(1); report_byte(inch()); } void cmd_inchnstr(int nargs, char **args) { chtype *string; ARGC(1); ARG_INT(limit); if ((string = malloc((limit + 1) * sizeof(chtype))) == NULL) { report_count(1); report_error("MALLOC_FAILED"); return; } report_count(2); report_return(inchnstr(string, limit)); report_nstr(string); free(string); } void cmd_inchstr(int nargs, char **args) { chtype string[256]; ARGC(0); report_count(2); report_return(inchstr(string)); report_nstr(string); } void cmd_innstr(int nargs, char **args) { char *string; ARGC(1); ARG_INT(limit); if ((string = malloc(limit + 1)) == NULL) { report_count(1); report_error("MALLOC_FAILED"); return; } report_count(2); report_int(innstr(string, limit)); report_status(string); free(string); } void cmd_insch(int nargs, char **args) { ARGC(1); ARG_CHTYPE(ch); report_count(1); report_return(insch(ch)); } void cmd_insdelln(int nargs, char **args) { ARGC(1); ARG_INT(nlines); report_count(1); report_return(insdelln(nlines)); } void cmd_insertln(int nargs, char **args) { ARGC(0); report_count(1); report_return(insertln()); } void cmd_instr(int nargs, char **args) { char string[256]; ARGC(0); report_count(2); report_return(instr(string)); report_status(string); } void cmd_move(int nargs, char **args) { ARGC(2); ARG_INT(y); ARG_INT(x); report_count(1); report_return(move(y, x)); } void cmd_refresh(int nargs, char **args) { ARGC(0); report_count(1); report_return(refresh()); } void cmd_scrl(int nargs, char **args) { ARGC(1); ARG_INT(nlines); report_count(1); report_return(scrl(nlines)); } void cmd_setscrreg(int nargs, char **args) { ARGC(2); ARG_INT(top); ARG_INT(bottom); report_count(1); report_return(setscrreg(top, bottom)); } void cmd_standend(int nargs, char **args) { ARGC(0); report_count(1); report_int(standend()); } void cmd_standout(int nargs, char **args) { ARGC(0); report_count(1); report_int(standout()); } void cmd_timeout(int nargs, char **args) { ARGC(1); ARG_INT(tval); timeout(tval); /* void return */ report_count(1); report_return(OK); } void cmd_underscore(int nargs, char **args) { ARGC(0); report_count(1); report_int(underscore()); } void cmd_underend(int nargs, char **args) { ARGC(0); report_count(1); report_int(underend()); } void cmd_waddbytes(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_STRING(str); ARG_INT(count); report_count(1); report_return(waddbytes(win, str, count)); } void cmd_waddstr(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_STRING(str); report_count(1); report_return(waddstr(win, str)); } void cmd_mvaddbytes(int nargs, char **args) { ARGC(4); ARG_INT(y); ARG_INT(x); ARG_STRING(str); ARG_INT(count); report_count(1); report_return(mvaddbytes(y, x, str, count)); } void cmd_mvaddch(int nargs, char **args) { ARGC(3); ARG_INT(y); ARG_INT(x); ARG_CHTYPE(ch); report_count(1); report_return(mvaddch(y, x, ch)); } void cmd_mvaddchnstr(int nargs, char **args) { ARGC(4); ARG_INT(y); ARG_INT(x); ARG_CHTYPE_STRING(chstr); ARG_INT(count); report_count(1); report_return(mvaddchnstr(y, x, chstr, count)); } void cmd_mvaddchstr(int nargs, char **args) { ARGC(3); ARG_INT(y); ARG_INT(x); ARG_CHTYPE_STRING(chstr); report_count(1); report_return(mvaddchstr(y, x, chstr)); } void cmd_mvaddnstr(int nargs, char **args) { ARGC(4); ARG_INT(y); ARG_INT(x); ARG_STRING(str); ARG_INT(count); report_count(1); report_return(mvaddnstr(y, x, str, count)); } void cmd_mvaddstr(int nargs, char **args) { ARGC(3); ARG_INT(y); ARG_INT(x); ARG_STRING(str); report_count(1); report_return(mvaddstr(y, x, str)); } void cmd_mvdelch(int nargs, char **args) { ARGC(2); ARG_INT(y); ARG_INT(x); report_count(1); report_return(mvdelch(y, x)); } void cmd_mvgetch(int nargs, char **args) { ARGC(2); ARG_INT(y); ARG_INT(x); report_count(1); report_int(mvgetch(y, x)); } void cmd_mvgetnstr(int nargs, char **args) { char *string; ARGC(3); ARG_INT(y); ARG_INT(x); ARG_INT(count); if ((string = malloc(count + 1)) == NULL) { report_count(1); report_error("MALLOC_FAILED"); return; } report_count(2); report_return(mvgetnstr(y, x, string, count)); report_status(string); free(string); } void cmd_mvgetstr(int nargs, char **args) { char string[256]; ARGC(2); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvgetstr(y, x, string)); report_status(string); } void cmd_mvinch(int nargs, char **args) { ARGC(2); ARG_INT(y); ARG_INT(x); report_count(1); report_byte(mvinch(y, x)); } void cmd_mvinchnstr(int nargs, char **args) { chtype *string; ARGC(3); ARG_INT(y); ARG_INT(x); ARG_INT(count); if ((string = malloc((count + 1) * sizeof(chtype))) == NULL) { report_count(1); report_error("MALLOC_FAILED"); return; } report_count(2); report_return(mvinchnstr(y, x, string, count)); report_nstr(string); free(string); } void cmd_mvinchstr(int nargs, char **args) { chtype string[256]; ARGC(2); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvinchstr(y, x, string)); report_nstr(string); } void cmd_mvinnstr(int nargs, char **args) { char *string; ARGC(3); ARG_INT(y); ARG_INT(x); ARG_INT(count); if ((string = malloc(count + 1)) == NULL) { report_count(1); report_error("MALLOC_FAILED"); return; } report_count(2); report_int(mvinnstr(y, x, string, count)); report_status(string); free(string); } void cmd_mvinsch(int nargs, char **args) { ARGC(3); ARG_INT(y); ARG_INT(x); ARG_CHTYPE(ch); report_count(1); report_return(mvinsch(y, x, ch)); } void cmd_mvinstr(int nargs, char **args) { char string[256]; ARGC(2); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvinstr(y, x, string)); report_status(string); } void cmd_mvwaddbytes(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_STRING(str); ARG_INT(count); report_count(1); report_return(mvwaddbytes(win, y, x, str, count)); } void cmd_mvwaddch(int nargs, char **args) { ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_CHTYPE(ch); report_count(1); report_return(mvwaddch(win, y, x, ch)); } void cmd_mvwaddchnstr(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_CHTYPE_STRING(chstr); ARG_INT(count); report_count(1); report_return(mvwaddchnstr(win, y, x, chstr, count)); } void cmd_mvwaddchstr(int nargs, char **args) { ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_CHTYPE_STRING(chstr); report_count(1); report_return(mvwaddchstr(win, y, x, chstr)); } void cmd_mvwaddnstr(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_STRING(str); ARG_INT(count); report_count(1); report_return(mvwaddnstr(win, y, x, str, count)); } void cmd_mvwaddstr(int nargs, char **args) { ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_STRING(str); report_count(1); report_return(mvwaddstr(win, y, x, str)); } void cmd_mvwdelch(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(1); report_return(mvwdelch(win, y, x)); } void cmd_mvwgetch(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); /* XXX - implicit refresh */ report_count(1); report_int(mvwgetch(win, y, x)); } void cmd_mvwgetnstr(int nargs, char **args) { char *string; ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_INT(count); if ((string = malloc(count + 1)) == NULL) { report_count(1); report_error("MALLOC_FAILED"); return; } report_count(2); report_return(mvwgetnstr(win, y, x, string, count)); report_status(string); free(string); } void cmd_mvwgetstr(int nargs, char **args) { char string[256]; ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvwgetstr(win, y, x, string)); report_status(string); } void cmd_mvwinch(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(1); report_byte(mvwinch(win, y, x)); } void cmd_mvwinsch(int nargs, char **args) { ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_CHTYPE(ch); report_count(1); report_return(mvwinsch(win, y, x, ch)); } void cmd_assume_default_colors(int nargs, char **args) { ARGC(2); ARG_SHORT(fore); ARG_SHORT(back); report_count(1); report_return(assume_default_colors(fore, back)); } void cmd_baudrate(int nargs, char **args) { ARGC(0); report_count(1); report_int(baudrate()); } void cmd_beep(int nargs, char **args) { ARGC(0); report_count(1); report_return(beep()); } void cmd_box(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_CHTYPE(vertical); ARG_CHTYPE(horizontal); report_count(1); report_return(box(win, vertical, horizontal)); } void cmd_can_change_color(int nargs, char **args) { ARGC(0); report_count(1); report_int(can_change_color()); } void cmd_cbreak(int nargs, char **args) { ARGC(0); report_count(1); report_return(cbreak()); } void cmd_clearok(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(flag); report_count(1); report_return(clearok(win, flag)); } void cmd_color_content(int nargs, char **args) { ARGC(1); ARG_SHORT(colour); short red, green, blue; int ret = color_content(colour, &red, &green, &blue); report_count(4); report_return(ret); report_int(red); report_int(green); report_int(blue); } void cmd_copywin(int nargs, char **args) { ARGC(9); ARG_WINDOW(source); ARG_WINDOW(destination); ARG_INT(sminrow); ARG_INT(smincol); ARG_INT(dminrow); ARG_INT(dmincol); ARG_INT(dmaxrow); ARG_INT(dmaxcol); ARG_INT(ovlay); report_count(1); report_return(copywin(source, destination, sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol, ovlay)); } void cmd_curs_set(int nargs, char **args) { ARGC(1); ARG_INT(vis); report_count(1); report_int(curs_set(vis)); } void cmd_def_prog_mode(int nargs, char **args) { ARGC(0); report_count(1); report_return(def_prog_mode()); } void cmd_def_shell_mode(int nargs, char **args) { ARGC(0); report_count(1); report_return(def_shell_mode()); } void cmd_define_key(int nargs, char **args) { ARGC(2); ARG_MODIFIABLE_STRING(sequence); ARG_INT(symbol); report_count(1); report_return(define_key(sequence, symbol)); } void cmd_delay_output(int nargs, char **args) { ARGC(1); ARG_INT(dtime); report_count(1); report_return(delay_output(dtime)); } void cmd_delscreen(int nargs, char **args) { ARGC(1); ARG_SCREEN(scrn); delscreen(scrn); /* void return */ report_count(1); report_return(OK); } void cmd_delwin(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(delwin(win)); } void cmd_derwin(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(lines); ARG_INT(cols); ARG_INT(y); ARG_INT(x); report_count(1); report_ptr(derwin(win, lines, cols, y, x)); } void cmd_dupwin(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_ptr(dupwin(win)); } void cmd_doupdate(int nargs, char **args) { ARGC(0); /* XXX - implicit refresh */ report_count(1); report_return(doupdate()); } void cmd_echo(int nargs, char **args) { ARGC(0); report_count(1); report_return(echo()); } void cmd_endwin(int nargs, char **args) { ARGC(0); report_count(1); report_return(endwin()); } void cmd_erasechar(int nargs, char **args) { ARGC(0); report_count(1); report_int(erasechar()); } void cmd_flash(int nargs, char **args) { ARGC(0); report_count(1); report_return(flash()); } void cmd_flushinp(int nargs, char **args) { ARGC(0); report_count(1); report_return(flushinp()); } void cmd_flushok(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(flag); report_count(1); report_return(flushok(win, flag)); } void cmd_fullname(int nargs, char **args) { char string[256]; ARGC(1); ARG_STRING(termbuf); report_count(2); report_status(fullname(termbuf, string)); report_status(string); } void cmd_getattrs(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(getattrs(win)); } void cmd_getbkgd(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_byte(getbkgd(win)); } void cmd_getcury(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(getcury(win)); } void cmd_getcurx(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(getcurx(win)); } void cmd_getyx(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); int y, x; getyx(win, y, x); report_count(2); report_int(y); report_int(x); } void cmd_getbegy(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(getbegy(win)); } void cmd_getbegx(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(getbegx(win)); } void cmd_getmaxy(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(getmaxy(win)); } void cmd_getmaxx(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(getmaxx(win)); } void cmd_getpary(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(getpary(win)); } void cmd_getparx(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(getparx(win)); } void cmd_getparyx(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); int y, x; report_count(2); getparyx(win, y, x); report_int(y); report_int(x); } void cmd_getmaxyx(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); int y, x; getmaxyx(win, y, x); report_count(2); report_int(y); report_int(x); } void cmd_getbegyx(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); int y, x; getbegyx(win, y, x); report_count(2); report_int(y); report_int(x); } void cmd_setsyx(int nargs, char **args) { ARGC(2); ARG_INT(y); ARG_INT(x); report_count(1); setsyx(y, x); report_return(OK); } void cmd_getsyx(int nargs, char **args) { int y, x; ARGC(0); report_count(3); getsyx(y, x); report_return(OK); report_int(y); report_int(x); } void cmd_gettmode(int nargs, char **args) { ARGC(0); report_count(1); report_return(gettmode()); } void cmd_getwin(int nargs, char **args) { FILE *fp; ARGC(1); ARG_STRING(filename); if ((fp = fopen(filename, "r")) == NULL) { report_count(1); report_error("BAD FILE_ARGUMENT"); return; } report_count(1); report_ptr(getwin(fp)); fclose(fp); } void cmd_halfdelay(int nargs, char **args) { ARGC(1); ARG_INT(ms); report_count(1); report_return(halfdelay(ms)); } void cmd_has_colors(int nargs, char **args) { ARGC(0); report_count(1); report_int(has_colors()); } void cmd_has_ic(int nargs, char **args) { ARGC(0); report_count(1); report_int(has_ic()); } void cmd_has_il(int nargs, char **args) { ARGC(0); report_count(1); report_int(has_il()); } void cmd_hline(int nargs, char **args) { ARGC(2); ARG_CHTYPE(ch); ARG_INT(count); report_count(1); report_return(hline(ch, count)); } void cmd_idcok(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(flag); report_count(1); report_return(idcok(win, flag)); } void cmd_idlok(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(flag); report_count(1); report_return(idlok(win, flag)); } void cmd_init_color(int nargs, char **args) { ARGC(4); ARG_SHORT(colour); ARG_SHORT(red); ARG_SHORT(green); ARG_SHORT(blue); report_count(1); report_return(init_color(colour, red, green, blue)); } void cmd_init_pair(int nargs, char **args) { ARGC(3); ARG_SHORT(pair); ARG_SHORT(fore); ARG_SHORT(back); report_count(1); report_return(init_pair(pair, fore, back)); } void cmd_initscr(int nargs, char **args) { ARGC(0); report_count(1); report_ptr(initscr()); } void cmd_intrflush(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(flag); report_count(1); report_return(intrflush(win, flag)); } void cmd_isendwin(int nargs, char **args) { ARGC(0); report_count(1); report_int(isendwin()); } void cmd_is_linetouched(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(line); report_count(1); report_int(is_linetouched(win, line)); } void cmd_is_wintouched(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(is_wintouched(win)); } void cmd_keyok(int nargs, char **args) { ARGC(2); ARG_INT(keysym); ARG_INT(flag); report_count(1); report_return(keyok(keysym, flag)); } void cmd_keypad(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(flag); report_count(1); report_return(keypad(win, flag)); } void cmd_is_keypad(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(is_keypad(win)); } void cmd_keyname(int nargs, char **args) { ARGC(1); ARG_UINT(key); report_count(1); report_status(keyname(key)); } void cmd_killchar(int nargs, char **args) { ARGC(0); report_count(1); report_int(killchar()); } void cmd_leaveok(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(flag); report_count(1); report_return(leaveok(win, flag)); } void cmd_is_leaveok(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(is_leaveok(win)); } void cmd_meta(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(flag); report_count(1); report_return(meta(win, flag)); } void cmd_mvcur(int nargs, char **args) { ARGC(4); ARG_INT(oldy); ARG_INT(oldx); ARG_INT(y); ARG_INT(x); report_count(1); report_return(mvcur(oldy, oldx, y, x)); } void cmd_mvderwin(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(1); report_return(mvderwin(win, y, x)); } void cmd_mvhline(int nargs, char **args) { ARGC(4); ARG_INT(y); ARG_INT(x); ARG_CHTYPE(ch); ARG_INT(n); report_count(1); report_return(mvhline(y, x, ch, n)); } void cmd_mvprintw(int nargs, char **args) { ARGC(4); ARG_INT(y); ARG_INT(x); ARG_STRING(fmt); /* Must have a single "%s" in this test. */ ARG_STRING(arg); report_count(1); report_return(mvprintw(y, x, fmt, arg)); } void cmd_mvscanw(int nargs, char **args) { int ret; char string[256]; ARGC(3); ARG_INT(y); ARG_INT(x); ARG_STRING(fmt); report_count(2); if (strchr(fmt, 's') != NULL) { report_return(ret = mvscanw(y, x, fmt, string)); } else { int val; /* XXX assume 32-bit integer */ report_return(ret = mvscanw(y, x, fmt, &val)); if (ret == ERR) goto out; snprintf(string, sizeof(string), fmt, val); } out: /* * When mvscanw(3) fails, string is not modified. * Let's ignore the 2nd result for this case. */ report_status(ret == ERR ? "ERR" : string); } void cmd_mvvline(int nargs, char **args) { ARGC(4); ARG_INT(y); ARG_INT(x); ARG_CHTYPE(ch); ARG_INT(n); report_count(1); report_return(mvvline(y, x, ch, n)); } void cmd_mvwhline(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_CHTYPE(ch); ARG_INT(n); report_count(1); report_return(mvwhline(win, y, x, ch, n)); } void cmd_mvwvline(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_CHTYPE(ch); ARG_INT(n); report_count(1); report_return(mvwvline(win, y, x, ch, n)); } void cmd_mvwin(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(1); report_return(mvwin(win, y, x)); } void cmd_mvwinchnstr(int nargs, char **args) { chtype *string; ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_INT(count); if ((string = malloc((count + 1) * sizeof(chtype))) == NULL) { report_count(1); report_error("MALLOC_FAILED"); return; } report_count(2); report_return(mvwinchnstr(win, y, x, string, count)); report_nstr(string); free(string); } void cmd_mvwinchstr(int nargs, char **args) { chtype string[256]; ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvwinchstr(win, y, x, string)); report_nstr(string); } void cmd_mvwinnstr(int nargs, char **args) { char *string; ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_INT(count); if ((string = malloc(count + 1)) == NULL) { report_count(1); report_error("MALLOC_FAILED"); return; } report_count(2); report_int(mvwinnstr(win, y, x, string, count)); report_status(string); free(string); } void cmd_mvwinstr(int nargs, char **args) { char string[256]; ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvwinstr(win, y, x, string)); report_status(string); } void cmd_mvwprintw(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_STRING(fmt); /* Must have a single "%s" in this test. */ ARG_STRING(arg); report_count(1); report_return(mvwprintw(win, y, x, fmt, arg)); } void cmd_mvwscanw(int nargs, char **args) { char string[256]; ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_STRING(fmt); /* Must have a single "%s" in this test. */ report_count(2); report_int(mvwscanw(win, y, x, fmt, &string)); report_status(string); } void cmd_napms(int nargs, char **args) { ARGC(1); ARG_INT(naptime); report_count(1); report_return(napms(naptime)); } void cmd_newpad(int nargs, char **args) { ARGC(2); ARG_INT(y); ARG_INT(x); report_count(1); report_ptr(newpad(y, x)); } void cmd_newterm(int nargs, char **args) { FILE *in, *out; ARGC(3); ARG_MODIFIABLE_STRING(type); ARG_STRING(in_fname); ARG_STRING(out_fname); if ((in = fopen(in_fname, "rw")) == NULL) { report_count(1); report_error("BAD FILE_ARGUMENT"); return; } if ((out = fopen(out_fname, "rw")) == NULL) { report_count(1); report_error("BAD FILE_ARGUMENT"); return; } report_count(1); report_ptr(newterm(type, out, in)); } void cmd_newwin(int nargs, char **args) { ARGC(4); ARG_INT(lines); ARG_INT(cols); ARG_INT(begin_y); ARG_INT(begin_x); report_count(1); report_ptr(newwin(lines, cols, begin_y, begin_x)); } void cmd_nl(int nargs, char **args) { ARGC(0); report_count(1); report_return(nl()); } void cmd_no_color_attributes(int nargs, char **args) { ARGC(0); report_count(1); report_int(no_color_attributes()); } void cmd_nocbreak(int nargs, char **args) { ARGC(0); report_count(1); report_return(nocbreak()); } void cmd_nodelay(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(flag); report_count(1); report_return(nodelay(win, flag)); } void cmd_noecho(int nargs, char **args) { ARGC(0); report_count(1); report_return(noecho()); } void cmd_nonl(int nargs, char **args) { ARGC(0); report_count(1); report_return(nonl()); } void cmd_noqiflush(int nargs, char **args) { ARGC(0); noqiflush(); report_count(1); report_return(OK); /* fake a return, the call returns void */ } void cmd_noraw(int nargs, char **args) { ARGC(0); report_count(1); report_return(noraw()); } void cmd_notimeout(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(flag); report_count(1); report_return(notimeout(win, flag)); } void cmd_overlay(int nargs, char **args) { ARGC(2); ARG_WINDOW(source); ARG_WINDOW(dest); report_count(1); report_return(overlay(source, dest)); } void cmd_overwrite(int nargs, char **args) { ARGC(2); ARG_WINDOW(source); ARG_WINDOW(dest); report_count(1); report_return(overwrite(source, dest)); } void cmd_pair_content(int nargs, char **args) { ARGC(1); ARG_SHORT(pair); short fore, back; int ret = pair_content(pair, &fore, &back); report_count(3); report_return(ret); report_int(fore); report_int(back); } void cmd_pechochar(int nargs, char **args) { ARGC(2); ARG_WINDOW(pad); ARG_CHTYPE(ch); report_count(1); report_return(pechochar(pad, ch)); } void cmd_pnoutrefresh(int nargs, char **args) { ARGC(7); ARG_WINDOW(pad); ARG_INT(pbeg_y); ARG_INT(pbeg_x); ARG_INT(sbeg_y); ARG_INT(sbeg_x); ARG_INT(smax_y); ARG_INT(smax_x); report_count(1); report_return(pnoutrefresh(pad, pbeg_y, pbeg_x, sbeg_y, sbeg_x, smax_y, smax_x)); } void cmd_prefresh(int nargs, char **args) { ARGC(7); ARG_WINDOW(pad); ARG_INT(pbeg_y); ARG_INT(pbeg_x); ARG_INT(sbeg_y); ARG_INT(sbeg_x); ARG_INT(smax_y); ARG_INT(smax_x); /* XXX causes refresh */ report_count(1); report_return(prefresh(pad, pbeg_y, pbeg_x, sbeg_y, sbeg_x, smax_y, smax_x)); } void cmd_printw(int nargs, char **args) { ARGC(2); ARG_STRING(fmt); /* Must have a single "%s" in this test. */ ARG_STRING(arg); report_count(1); report_return(printw(fmt, arg)); } void cmd_putwin(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_STRING(filename); FILE *fp; if ((fp = fopen(filename, "w")) == NULL) { report_count(1); report_error("BAD FILE_ARGUMENT"); return; } report_count(1); report_return(putwin(win, fp)); fclose(fp); } void cmd_qiflush(int nargs, char **args) { ARGC(0); qiflush(); report_count(1); report_return(OK); /* fake a return because call returns void */ } void cmd_raw(int nargs, char **args) { ARGC(0); report_count(1); report_return(raw()); } void cmd_redrawwin(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(redrawwin(win)); } void cmd_reset_prog_mode(int nargs, char **args) { ARGC(0); report_count(1); report_return(reset_prog_mode()); } void cmd_reset_shell_mode(int nargs, char **args) { ARGC(0); report_count(1); report_return(reset_shell_mode()); } void cmd_resetty(int nargs, char **args) { ARGC(0); report_count(1); report_return(resetty()); } void cmd_resizeterm(int nargs, char **args) { ARGC(2); ARG_INT(rows); ARG_INT(cols); report_count(1); report_return(resizeterm(rows, cols)); } void cmd_savetty(int nargs, char **args) { ARGC(0); report_count(1); report_return(savetty()); } void cmd_scanw(int nargs, char **args) { char string[256]; ARGC(0); report_count(2); report_return(scanw("%s", string)); report_status(string); } void cmd_scroll(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(scroll(win)); } void cmd_scrollok(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(flag); report_count(1); report_return(scrollok(win, flag)); } void cmd_setterm(int nargs, char **args) { ARGC(1); ARG_MODIFIABLE_STRING(name); report_count(1); report_return(setterm(name)); } void cmd_set_term(int nargs, char **args) { ARGC(1); ARG_SCREEN(scrn); report_count(1); report_ptr(set_term(scrn)); } void cmd_start_color(int nargs, char **args) { ARGC(0); report_count(1); report_return(start_color()); } void cmd_subpad(int nargs, char **args) { ARGC(5); ARG_WINDOW(pad); ARG_INT(lines); ARG_INT(cols); ARG_INT(begin_y); ARG_INT(begin_x); report_count(1); report_ptr(subpad(pad, lines, cols, begin_y, begin_x)); } void cmd_subwin(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(lines); ARG_INT(cols); ARG_INT(begin_y); ARG_INT(begin_x); report_count(1); report_ptr(subwin(win, lines, cols, begin_y, begin_x)); } void cmd_termattrs(int nargs, char **args) { ARGC(0); report_count(1); report_int(termattrs()); } void cmd_term_attrs(int nargs, char **args) { ARGC(0); report_count(1); report_int(term_attrs()); } void cmd_touchline(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_INT(start); ARG_INT(count); report_count(1); report_return(touchline(win, start, count)); } void cmd_touchoverlap(int nargs, char **args) { ARGC(2); ARG_WINDOW(win1); ARG_WINDOW(win2); report_count(1); report_return(touchoverlap(win1, win2)); } void cmd_touchwin(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(touchwin(win)); } void cmd_ungetch(int nargs, char **args) { ARGC(1); ARG_INT(ch); report_count(1); report_return(ungetch(ch)); } void cmd_untouchwin(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(untouchwin(win)); } void cmd_use_default_colors(int nargs, char **args) { ARGC(0); report_count(1); report_return(use_default_colors()); } void cmd_vline(int nargs, char **args) { ARGC(2); ARG_CHTYPE(ch); ARG_INT(count); report_count(1); report_return(vline(ch, count)); } static int internal_vw_printw(WINDOW * win, const char *fmt, ...) { va_list va; int rv; va_start(va, fmt); rv = vw_printw(win, fmt, va); va_end(va); return rv; } void cmd_vw_printw(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_STRING(fmt); /* Must have a single "%s" in this test. */ ARG_STRING(arg); report_count(1); report_return(internal_vw_printw(win, fmt, arg)); } static int internal_vw_scanw(WINDOW * win, const char *fmt, ...) { va_list va; int rv; va_start(va, fmt); rv = vw_scanw(win, fmt, va); va_end(va); return rv; } void cmd_vw_scanw(int nargs, char **args) { char string[256]; ARGC(2); ARG_WINDOW(win); ARG_STRING(fmt); report_count(2); report_int(internal_vw_scanw(win, fmt, string)); report_status(string); } void cmd_vwprintw(int nargs, char **args) { cmd_vw_printw(nargs, args); } void cmd_vwscanw(int nargs, char **args) { cmd_vw_scanw(nargs, args); } void cmd_waddch(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_CHTYPE(ch); report_count(1); report_return(waddch(win, ch)); } void cmd_waddchnstr(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_CHTYPE_STRING(chstr); ARG_INT(count); report_count(1); report_return(waddchnstr(win, chstr, count)); } void cmd_waddchstr(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_CHTYPE_STRING(chstr); report_count(1); report_return(waddchstr(win, chstr)); } void cmd_waddnstr(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_STRING(str); ARG_INT(count); report_count(1); report_return(waddnstr(win, str, count)); } void cmd_wattr_get(int nargs, char **args) { int attr; short pair; ARGC(1); ARG_WINDOW(win); report_count(3); report_return(wattr_get(win, &attr, &pair, NULL)); report_int(attr); report_int(pair); } void cmd_wattr_off(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(attr); report_count(1); report_return(wattr_off(win, attr, NULL)); } void cmd_wattr_on(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(attr); report_count(1); report_return(wattr_on(win, attr, NULL)); } void cmd_wattr_set(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_INT(attr); ARG_SHORT(pair); report_count(1); report_return(wattr_set(win, attr, pair, NULL)); } void cmd_wattroff(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(attr); report_count(1); report_return(wattroff(win, attr)); } void cmd_wattron(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(attr); report_count(1); report_return(wattron(win, attr)); } void cmd_wattrset(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(attr); report_count(1); report_return(wattrset(win, attr)); } void cmd_wbkgd(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_CHTYPE(ch); report_count(1); report_return(wbkgd(win, ch)); } void cmd_wbkgdset(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_CHTYPE(ch); wbkgdset(win, ch); /* void return */ report_count(1); report_return(OK); } void cmd_wborder(int nargs, char **args) { ARGC(9); ARG_WINDOW(win); ARG_INT(ls); ARG_INT(rs); ARG_INT(ts); ARG_INT(bs); ARG_INT(tl); ARG_INT(tr); ARG_INT(bl); ARG_INT(br); report_count(1); report_return(wborder(win, ls, rs, ts, bs, tl, tr, bl, br)); } void cmd_wclear(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(wclear(win)); } void cmd_wclrtobot(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(wclrtobot(win)); } void cmd_wclrtoeol(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(wclrtoeol(win)); } void cmd_wcolor_set(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_SHORT(pair); ARG_NULL(); report_count(1); report_return(wcolor_set(win, pair, NULL)); } void cmd_wdelch(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(wdelch(win)); } void cmd_wdeleteln(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(wdeleteln(win)); } void cmd_wechochar(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_CHTYPE(ch); report_count(1); report_return(wechochar(win, ch)); } void cmd_werase(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(werase(win)); } void cmd_wgetch(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(wgetch(win)); } void cmd_wgetnstr(int nargs, char **args) { char string[256]; ARGC(2); ARG_WINDOW(win); ARG_INT(count); report_count(2); report_return(wgetnstr(win, string, count)); report_status(string); } void cmd_wgetstr(int nargs, char **args) { char string[256]; ARGC(1); ARG_WINDOW(win); string[0] = '\0'; report_count(2); report_return(wgetstr(win, string)); report_status(string); } void cmd_whline(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_CHTYPE(ch); ARG_INT(count); report_count(1); report_return(whline(win, ch, count)); } void cmd_winch(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_byte(winch(win)); } void cmd_winchnstr(int nargs, char **args) { chtype string[256]; ARGC(2); ARG_WINDOW(win); ARG_INT(count); report_count(2); report_return(winchnstr(win, string, count)); report_nstr(string); } void cmd_winchstr(int nargs, char **args) { chtype string[256]; ARGC(1); ARG_WINDOW(win); report_count(2); report_return(winchstr(win, string)); report_nstr(string); } void cmd_winnstr(int nargs, char **args) { char string[256]; ARGC(2); ARG_WINDOW(win); ARG_INT(count); report_count(2); report_int(winnstr(win, string, count)); report_status(string); } void cmd_winsch(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_CHTYPE(ch); report_count(1); report_return(winsch(win, ch)); } void cmd_winsdelln(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(count); report_count(1); report_return(winsdelln(win, count)); } void cmd_winsertln(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(winsertln(win)); } void cmd_winstr(int nargs, char **args) { char string[256]; ARGC(1); ARG_WINDOW(win); report_count(2); report_return(winstr(win, string)); report_status(string); } void cmd_wmove(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(1); report_return(wmove(win, y, x)); } void cmd_wnoutrefresh(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_return(wnoutrefresh(win)); } void cmd_wprintw(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_STRING(fmt); ARG_STRING(arg); report_count(1); report_return(wprintw(win, fmt, arg)); } void cmd_wredrawln(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_INT(beg_line); ARG_INT(num_lines); report_count(1); report_return(wredrawln(win, beg_line, num_lines)); } void cmd_wrefresh(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); /* XXX - generates output */ report_count(1); report_return(wrefresh(win)); } void cmd_wresize(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_INT(lines); ARG_INT(cols); report_count(1); report_return(wresize(win, lines, cols)); } void cmd_wscanw(int nargs, char **args) { char string[256]; ARGC(2); ARG_WINDOW(win); ARG_STRING(fmt); report_count(1); report_return(wscanw(win, fmt, &string)); } void cmd_wscrl(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(n); report_count(1); report_return(wscrl(win, n)); } void cmd_wsetscrreg(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_INT(top); ARG_INT(bottom); report_count(1); report_return(wsetscrreg(win, top, bottom)); } void cmd_wstandend(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(wstandend(win)); } void cmd_wstandout(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(wstandout(win)); } void cmd_wtimeout(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(tval); wtimeout(win, tval); /* void return */ report_count(1); report_return(OK); } void cmd_wtouchln(int nargs, char **args) { ARGC(4); ARG_WINDOW(win); ARG_INT(line); ARG_INT(n); ARG_INT(changed); report_count(1); report_return(wtouchln(win, line, n, changed)); } void cmd_wunderend(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(wunderend(win)); } void cmd_wunderscore(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); report_int(wunderscore(win)); } void cmd_wvline(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_CHTYPE(ch); ARG_INT(n); report_count(1); report_return(wvline(win, ch, n)); } void cmd_insnstr(int nargs, char **args) { ARGC(2); ARG_STRING(str); ARG_INT(n); report_count(1); report_return(insnstr(str, n)); } void cmd_insstr(int nargs, char **args) { ARGC(1); ARG_STRING(str); report_count(1); report_return(insstr(str)); } void cmd_mvinsnstr(int nargs, char **args) { ARGC(4); ARG_INT(y); ARG_INT(x); ARG_STRING(str); ARG_INT(n); report_count(1); report_return(mvinsnstr(y, x, str, n)); } void cmd_mvinsstr(int nargs, char **args) { ARGC(3); ARG_INT(y); ARG_INT(x); ARG_STRING(str); report_count(1); report_return(mvinsstr(y, x, str)); } void cmd_mvwinsnstr(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_STRING(str); ARG_INT(n); report_count(1); report_return(mvwinsnstr(win, y, x, str, n)); } void cmd_mvwinsstr(int nargs, char **args) { ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_STRING(str); report_count(1); report_return(mvwinsstr(win, y, x, str)); } void cmd_winsnstr(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_STRING(str); ARG_INT(n); report_count(1); report_return(winsnstr(win, str, n)); } void cmd_winsstr(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_STRING(str); report_count(1); report_return(winsstr(win, str)); } void cmd_chgat(int nargs, char **args) { ARGC(4); ARG_INT(n); ARG_INT(attr); ARG_INT(colour); ARG_NULL(); report_count(1); report_return(chgat(n, attr, colour, NULL)); } void cmd_wchgat(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(n); ARG_INT(attr); ARG_SHORT(colour); ARG_NULL(); report_count(1); report_return(wchgat(win, n, attr, colour, NULL)); } void cmd_mvchgat(int nargs, char **args) { ARGC(6); ARG_INT(y); ARG_INT(x); ARG_INT(n); ARG_INT(attr); ARG_SHORT(colour); ARG_NULL(); report_count(1); report_return(mvchgat(y, x, n, attr, colour, NULL)); } void cmd_mvwchgat(int nargs, char **args) { ARGC(7); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_INT(n); ARG_INT(attr); ARG_SHORT(colour); ARG_NULL(); report_count(1); report_return(mvwchgat(win, y, x, n, attr, colour, NULL)); } void cmd_add_wch(int nargs, char **args) { ARGC(1); ARG_CCHAR_STRING(ch); report_count(1); report_return(add_wch(ch)); } void cmd_wadd_wch(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_CCHAR_STRING(ch); report_count(1); report_return(wadd_wch(win, ch)); } void cmd_mvadd_wch(int nargs, char **args) { ARGC(3); ARG_INT(y); ARG_INT(x); ARG_CCHAR_STRING(ch); report_count(1); report_return(mvadd_wch(y, x, ch)); } void cmd_mvwadd_wch(int nargs, char **args) { ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_CCHAR_STRING(ch); report_count(1); report_return(mvwadd_wch(win, y, x, ch)); } void cmd_add_wchnstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_add_wchstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_wadd_wchnstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_wadd_wchstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_mvadd_wchnstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_mvadd_wchstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_mvwadd_wchnstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_mvwadd_wchstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_addnwstr(int nargs, char **args) { ARGC(2); ARG_WCHAR_STRING(wstr); ARG_INT(n); report_count(1); report_return(addnwstr(wstr, n)); } void cmd_addwstr(int nargs, char **args) { ARGC(1); ARG_WCHAR_STRING(wstr); report_count(1); report_return(addwstr(wstr)); } void cmd_mvaddnwstr(int nargs, char **args) { ARGC(4); ARG_INT(y); ARG_INT(x); ARG_WCHAR_STRING(wstr); ARG_INT(n); report_count(1); report_return(mvaddnwstr(y, x, wstr, n)); } void cmd_mvaddwstr(int nargs, char **args) { ARGC(3); ARG_INT(y); ARG_INT(x); ARG_WCHAR_STRING(wstr); report_count(1); report_return(mvaddwstr(y, x, wstr)); } void cmd_mvwaddnwstr(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_WCHAR_STRING(wstr); ARG_INT(n); report_count(1); report_return(mvwaddnwstr(win, y, x, wstr, n)); } void cmd_mvwaddwstr(int nargs, char **args) { ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_WCHAR_STRING(wstr); report_count(1); report_return(mvwaddwstr(win, y, x, wstr)); } void cmd_waddnwstr(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_WCHAR_STRING(wstr); ARG_INT(n); report_count(1); report_return(waddnwstr(win, wstr, n)); } void cmd_waddwstr(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_WCHAR_STRING(wstr); report_count(1); report_return(waddwstr(win, wstr)); } void cmd_echo_wchar(int nargs, char **args) { ARGC(1); ARG_CCHAR_STRING(ch); report_count(1); report_return(echo_wchar(ch)); } void cmd_wecho_wchar(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_CCHAR_STRING(ch); report_count(1); report_return(wecho_wchar(win, ch)); } void cmd_pecho_wchar(int nargs, char **args) { ARGC(2); ARG_WINDOW(pad); ARG_CCHAR_STRING(wch); report_count(1); report_return(pecho_wchar(pad, wch)); } /* insert */ void cmd_ins_wch(int nargs, char **args) { ARGC(1); ARG_CCHAR_STRING(wch); report_count(1); report_return(ins_wch(wch)); } void cmd_wins_wch(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_CCHAR_STRING(wch); report_count(1); report_return(wins_wch(win, wch)); } void cmd_mvins_wch(int nargs, char **args) { ARGC(3); ARG_INT(y); ARG_INT(x); ARG_CCHAR_STRING(wch); report_count(1); report_return(mvins_wch(y, x, wch)); } void cmd_mvwins_wch(int nargs, char **args) { ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_CCHAR_STRING(wch); report_count(1); report_return(mvwins_wch(win, y, x, wch)); } void cmd_ins_nwstr(int nargs, char **args) { ARGC(2); ARG_WCHAR_STRING(wstr); ARG_INT(n); report_count(1); report_return(ins_nwstr(wstr, n)); } void cmd_ins_wstr(int nargs, char **args) { ARGC(1); ARG_WCHAR_STRING(wstr); report_count(1); report_return(ins_wstr(wstr)); } void cmd_mvins_nwstr(int nargs, char **args) { ARGC(4); ARG_INT(y); ARG_INT(x); ARG_WCHAR_STRING(wstr); ARG_INT(n); report_count(1); report_return(mvins_nwstr(y, x, wstr, n)); } void cmd_mvins_wstr(int nargs, char **args) { ARGC(3); ARG_INT(y); ARG_INT(x); ARG_WCHAR_STRING(wstr); report_count(1); report_return(mvins_wstr(y, x, wstr)); } void cmd_mvwins_nwstr(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_WCHAR_STRING(wstr); ARG_INT(n); report_count(1); report_return(mvwins_nwstr(win, y, x, wstr, n)); } void cmd_mvwins_wstr(int nargs, char **args) { ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_WCHAR_STRING(wstr); report_count(1); report_return(mvwins_wstr(win, y, x, wstr)); } void cmd_wins_nwstr(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_WCHAR_STRING(wstr); ARG_INT(n); report_count(1); report_return(wins_nwstr(win, wstr, n)); } void cmd_wins_wstr(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_WCHAR_STRING(wstr); report_count(1); report_return(wins_wstr(win, wstr)); } /* input */ void cmd_get_wch(int nargs, char **args) { wchar_t ch; ARGC(0); report_count(2); report_return(get_wch(&ch)); report_wchar(ch); } void cmd_unget_wch(int nargs, char **args) { ARGC(1); ARG_WCHAR(wch); report_count(1); report_return(unget_wch(wch)); } void cmd_mvget_wch(int nargs, char **args) { wchar_t ch; ARGC(2); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvget_wch(y, x, &ch)); report_wchar(ch); } void cmd_mvwget_wch(int nargs, char **args) { wchar_t ch; ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvwget_wch(win, y, x, &ch)); report_wchar(ch); } void cmd_wget_wch(int nargs, char **args) { wchar_t ch; ARGC(1); ARG_WINDOW(win); report_count(2); report_return(wget_wch(win, &ch)); report_wchar(ch); } void cmd_getn_wstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(1); ARG_INT(n); report_count(2); report_return(getn_wstr(wstr, n)); report_wstr(wstr); } void cmd_get_wstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(0); report_count(2); report_return(get_wstr(wstr)); report_wstr(wstr); } void cmd_mvgetn_wstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(3); ARG_INT(y); ARG_INT(x); ARG_INT(n); report_count(2); report_return(mvgetn_wstr(y, x, wstr, n)); report_wstr(wstr); } void cmd_mvget_wstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(2); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvget_wstr(y, x, wstr)); report_wstr(wstr); } void cmd_mvwgetn_wstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_INT(n); report_count(2); report_return(mvwgetn_wstr(win, y, x, wstr, n)); report_wstr(wstr); } void cmd_mvwget_wstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvwget_wstr(win, y, x, wstr)); report_wstr(wstr); } void cmd_wgetn_wstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(2); ARG_WINDOW(win); ARG_INT(n); report_count(2); report_return(wgetn_wstr(win, wstr, n)); report_wstr(wstr); } void cmd_wget_wstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(1); ARG_WINDOW(win); report_count(2); report_return(wget_wstr(win, wstr)); report_wstr(wstr); } void cmd_in_wch(int nargs, char **args) { cchar_t wcval; ARGC(0); report_count(2); report_return(in_wch(&wcval)); report_cchar(wcval); } void cmd_mvin_wch(int nargs, char **args) { cchar_t wcval; ARGC(2); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvin_wch(y, x, &wcval)); report_cchar(wcval); } void cmd_mvwin_wch(int nargs, char **args) { cchar_t wcval; ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvwin_wch(win, y, x, &wcval)); report_cchar(wcval); } void cmd_win_wch(int nargs, char **args) { cchar_t wcval; ARGC(1); ARG_WINDOW(win); report_count(2); report_return(win_wch(win, &wcval)); report_cchar(wcval); } void cmd_in_wchnstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_in_wchstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_mvin_wchnstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_mvin_wchstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_mvwin_wchnstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_mvwin_wchstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_win_wchnstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_win_wchstr(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_innwstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(1); ARG_INT(n); report_count(2); report_int(innwstr(wstr, n)); report_wstr(wstr); } void cmd_inwstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(0); report_count(2); report_return(inwstr(wstr)); report_wstr(wstr); } void cmd_mvinnwstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(3); ARG_INT(y); ARG_INT(x); ARG_INT(n); report_count(2); report_int(mvinnwstr(y, x, wstr, n)); report_wstr(wstr); } void cmd_mvinwstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(2); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvinwstr(y, x, wstr)); report_wstr(wstr); } void cmd_mvwinnwstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(4); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_INT(n); report_count(2); report_int(mvwinnwstr(win, y, x, wstr, n)); report_wstr(wstr); } void cmd_mvwinwstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(3); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); report_count(2); report_return(mvwinwstr(win, y, x, wstr)); report_wstr(wstr); } void cmd_winnwstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(2); ARG_WINDOW(win); ARG_INT(n); report_count(2); report_int(winnwstr(win, wstr, n)); report_wstr(wstr); } void cmd_winwstr(int nargs, char **args) { wchar_t wstr[256]; ARGC(1); ARG_WINDOW(win); report_count(2); report_return(winwstr(win, wstr)); report_wstr(wstr); } /* cchar handling */ void cmd_setcchar(int nargs, char **args) { cchar_t wcval; ARGC(4); ARG_WCHAR_STRING(wch); ARG_INT(attrs); ARG_SHORT(color_pair); ARG_NULL(); report_count(2); report_return(setcchar(&wcval, wch, attrs, color_pair, NULL)); report_cchar(wcval); } void cmd_getcchar(int nargs, char **args) { wchar_t wch[256]; attr_t attrs; short color_pair; /* * XXX - not handling passing of wch as NULL */ ARGC(2); ARG_CCHAR_STRING(wcval); ARG_NULL(); report_count(4); report_return(getcchar(wcval, wch, &attrs, &color_pair, NULL)); report_wstr(wch); report_int(attrs); report_int(color_pair); } /* misc */ void cmd_key_name(int nargs, char **args) { ARGC(1); ARG_WCHAR(w); report_count(1); report_status(key_name(w)); } void cmd_border_set(int nargs, char **args) { ARGC(8); ARG_CCHAR_STRING(ls); ARG_CCHAR_STRING(rs); ARG_CCHAR_STRING(ts); ARG_CCHAR_STRING(bs); ARG_CCHAR_STRING(tl); ARG_CCHAR_STRING(tr); ARG_CCHAR_STRING(bl); ARG_CCHAR_STRING(br); report_count(1); report_return(border_set(ls, rs, ts, bs, tl, tr, bl, br)); } void cmd_wborder_set(int nargs, char **args) { ARGC(9); ARG_WINDOW(win); ARG_CCHAR_STRING(ls); ARG_CCHAR_STRING(rs); ARG_CCHAR_STRING(ts); ARG_CCHAR_STRING(bs); ARG_CCHAR_STRING(tl); ARG_CCHAR_STRING(tr); ARG_CCHAR_STRING(bl); ARG_CCHAR_STRING(br); report_count(1); report_return(wborder_set(win, ls, rs, ts, bs, tl, tr, bl, br)); } void cmd_box_set(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_CCHAR_STRING(verch); ARG_CCHAR_STRING(horch); report_count(1); report_return(box_set(win, verch, horch)); } void cmd_erasewchar(int nargs, char **args) { wchar_t ch; ARGC(0); report_count(2); report_return(erasewchar(&ch)); report_wchar(ch); } void cmd_killwchar(int nargs, char **args) { wchar_t ch; ARGC(0); report_count(2); report_return(killwchar(&ch)); report_wchar(ch); } void cmd_hline_set(int nargs, char **args) { ARGC(2); ARG_CCHAR_STRING(wch); ARG_INT(n); report_count(1); report_return(hline_set(wch, n)); } void cmd_mvhline_set(int nargs, char **args) { ARGC(4); ARG_INT(y); ARG_INT(x); ARG_CCHAR_STRING(wch); ARG_INT(n); report_count(1); report_return(mvhline_set(y, x, wch, n)); } void cmd_mvvline_set(int nargs, char **args) { ARGC(4); ARG_INT(y); ARG_INT(x); ARG_CCHAR_STRING(wch); ARG_INT(n); report_count(1); report_return(mvvline_set(y, x, wch, n)); } void cmd_mvwhline_set(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_CCHAR_STRING(wch); ARG_INT(n); report_count(1); report_return(mvwhline_set(win, y, x, wch, n)); } void cmd_mvwvline_set(int nargs, char **args) { ARGC(5); ARG_WINDOW(win); ARG_INT(y); ARG_INT(x); ARG_CCHAR_STRING(wch); ARG_INT(n); report_count(1); report_return(mvwvline_set(win, y, x, wch, n)); } void cmd_vline_set(int nargs, char **args) { ARGC(2); ARG_CCHAR_STRING(wch); ARG_INT(n); report_count(1); report_return(vline_set(wch, n)); } void cmd_whline_set(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_CCHAR_STRING(wch); ARG_INT(n); report_count(1); report_return(whline_set(win, wch, n)); } void cmd_wvline_set(int nargs, char **args) { ARGC(3); ARG_WINDOW(win); ARG_CCHAR_STRING(wch); ARG_INT(n); report_count(1); report_return(wvline_set(win, wch, n)); } void cmd_bkgrnd(int nargs, char **args) { ARGC(1); ARG_CCHAR_STRING(wch); report_count(1); report_return(bkgrnd(wch)); } void cmd_bkgrndset(int nargs, char **args) { ARGC(1); ARG_CCHAR_STRING(wch); report_count(1); bkgrndset(wch); report_return(OK); } void cmd_getbkgrnd(int nargs, char **args) { cchar_t wch; ARGC(0); report_count(2); report_return(getbkgrnd(&wch)); report_cchar(wch); } void cmd_wbkgrnd(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_CCHAR_STRING(wch); report_count(1); report_return(wbkgrnd(win, wch)); } void cmd_wbkgrndset(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_CCHAR_STRING(wch); report_count(1); wbkgrndset(win, wch); report_return(OK); } void cmd_wgetbkgrnd(int nargs, char **args) { cchar_t wch; ARGC(1); ARG_WINDOW(win); report_count(2); report_return(wgetbkgrnd(win, &wch)); report_cchar(wch); } void cmd_immedok(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(bf); report_count(1); immedok(win, bf); report_return(OK); } void cmd_syncok(int nargs, char **args) { ARGC(2); ARG_WINDOW(win); ARG_INT(bf); report_count(1); report_return(syncok(win, bf)); } void cmd_wcursyncup(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); wcursyncup(win); report_return(OK); } void cmd_wsyncup(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); wsyncup(win); report_return(OK); } void cmd_wsyncdown(int nargs, char **args) { ARGC(1); ARG_WINDOW(win); report_count(1); wsyncdown(win); report_return(OK); } /* Soft label key routines */ void cmd_slk_attroff(int nargs, char **args) { ARGC(1); ARG_CHTYPE(ch); report_count(1); report_return(slk_attroff(ch)); } void cmd_slk_attr_off(int nargs, char **args) { ARGC(1); ARG_INT(attrs); report_count(1); report_return(slk_attr_off(attrs, NULL)); } void cmd_slk_attron(int nargs, char **args) { ARGC(1); ARG_CHTYPE(ch); report_count(1); report_return(slk_attron(ch)); } void cmd_slk_attr_on(int nargs, char **args) { ARGC(1); ARG_INT(attrs); report_count(1); report_return(slk_attr_on(attrs, NULL)); } void cmd_slk_attrset(int nargs, char **args) { ARGC(1); ARG_CHTYPE(ch); report_count(1); report_return(slk_attrset(ch)); } void cmd_slk_attr_set(int nargs, char **args) { ARGC(2); ARG_INT(attrs); ARG_SHORT(color_pair_number); report_count(1); report_return(slk_attr_set(attrs, color_pair_number, NULL)); } void cmd_slk_clear(int nargs, char **args) { ARGC(0); report_count(1); report_return(slk_clear()); } void cmd_slk_color(int nargs, char **args) { ARGC(1); ARG_SHORT(color_pair_number); report_count(1); report_return(slk_color(color_pair_number)); } void cmd_slk_label(int nargs, char **args) { char *label; ARGC(1); ARG_INT(labnum); label = slk_label(labnum); report_count(1); if (label == NULL) report_status("NULL"); else report_status(label); } void cmd_slk_noutrefresh(int nargs, char **args) { ARGC(0); report_count(1); report_return(slk_noutrefresh()); } void cmd_slk_refresh(int nargs, char **args) { ARGC(0); report_count(1); report_return(slk_refresh()); } void cmd_slk_restore(int nargs, char **args) { ARGC(0); report_count(1); report_return(slk_restore()); } void cmd_slk_set(int nargs, char **args) { ARGC(3); ARG_INT(labnum); ARG_STRING(label); ARG_INT(justify); report_count(1); report_return(slk_set(labnum, label, justify)); } void cmd_slk_touch(int nargs, char **args) { ARGC(0); report_count(1); report_return(slk_touch()); } void cmd_slk_wset(int nargs, char **args) { ARGC(3); ARG_INT(labnum); ARG_WCHAR_STRING(label); ARG_INT(justify); report_count(1); report_return(slk_wset(labnum, label, justify)); } void cmd_slk_init(int nargs, char **args) { ARGC(1); ARG_INT(fmt); report_count(1); report_return(slk_init(fmt)); } void cmd_use_env(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_ripoffline(int nargs, char **args) { ARGC(1); ARG_IGNORE(); report_count(1); report_error("UNSUPPORTED"); } void cmd_filter(int nargs, char **args) { ARGC(0); report_count(1); filter(); report_return(OK); }