/* $NetBSD: curses_commands.c,v 1.31 2021/12/07 06:55:44 rillig Exp $ */
/*-
* Copyright 2009 Brett Lymn <blymn@NetBSD.org>
* Copyright 2021 Roland Illig <rillig@NetBSD.org>
*
* 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 <curses.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <termios.h>
#include <stdarg.h>
#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);
}