mirror of
https://github.com/xcat2/xcat-dep.git
synced 2025-02-18 03:24:41 +00:00
249 lines
3.9 KiB
C
249 lines
3.9 KiB
C
/* This file can be automatically generated; changes may be lost.
|
|
**
|
|
**
|
|
** CursesVar.c -- the variables
|
|
**
|
|
** Copyright (c) 1994-2000 William Setzer
|
|
**
|
|
** You may distribute under the terms of either the Artistic License
|
|
** or the GNU General Public License, as specified in the README file.
|
|
*/
|
|
|
|
XS(XS_Curses_LINES)
|
|
{
|
|
dXSARGS;
|
|
#ifdef C_LINES
|
|
c_exactargs("LINES", items, 0);
|
|
{
|
|
ST(0) = sv_newmortal();
|
|
sv_setiv(ST(0), (IV)LINES);
|
|
}
|
|
XSRETURN(1);
|
|
#else
|
|
c_var_not_there("LINES");
|
|
XSRETURN(0);
|
|
#endif
|
|
}
|
|
|
|
XS(XS_Curses_COLS)
|
|
{
|
|
dXSARGS;
|
|
#ifdef C_COLS
|
|
c_exactargs("COLS", items, 0);
|
|
{
|
|
ST(0) = sv_newmortal();
|
|
sv_setiv(ST(0), (IV)COLS);
|
|
}
|
|
XSRETURN(1);
|
|
#else
|
|
c_var_not_there("COLS");
|
|
XSRETURN(0);
|
|
#endif
|
|
}
|
|
|
|
XS(XS_Curses_stdscr)
|
|
{
|
|
dXSARGS;
|
|
#ifdef C_STDSCR
|
|
c_exactargs("stdscr", items, 0);
|
|
{
|
|
ST(0) = sv_newmortal();
|
|
c_window2sv(ST(0), stdscr);
|
|
}
|
|
XSRETURN(1);
|
|
#else
|
|
c_var_not_there("stdscr");
|
|
XSRETURN(0);
|
|
#endif
|
|
}
|
|
|
|
XS(XS_Curses_curscr)
|
|
{
|
|
dXSARGS;
|
|
#ifdef C_CURSCR
|
|
c_exactargs("curscr", items, 0);
|
|
{
|
|
ST(0) = sv_newmortal();
|
|
c_window2sv(ST(0), curscr);
|
|
}
|
|
XSRETURN(1);
|
|
#else
|
|
c_var_not_there("curscr");
|
|
XSRETURN(0);
|
|
#endif
|
|
}
|
|
|
|
XS(XS_Curses_COLORS)
|
|
{
|
|
dXSARGS;
|
|
#ifdef C_COLORS
|
|
c_exactargs("COLORS", items, 0);
|
|
{
|
|
ST(0) = sv_newmortal();
|
|
sv_setiv(ST(0), (IV)COLORS);
|
|
}
|
|
XSRETURN(1);
|
|
#else
|
|
c_var_not_there("COLORS");
|
|
XSRETURN(0);
|
|
#endif
|
|
}
|
|
|
|
XS(XS_Curses_COLOR_PAIRS)
|
|
{
|
|
dXSARGS;
|
|
#ifdef C_COLOR_PAIRS
|
|
c_exactargs("COLOR_PAIRS", items, 0);
|
|
{
|
|
ST(0) = sv_newmortal();
|
|
sv_setiv(ST(0), (IV)COLOR_PAIRS);
|
|
}
|
|
XSRETURN(1);
|
|
#else
|
|
c_var_not_there("COLOR_PAIRS");
|
|
XSRETURN(0);
|
|
#endif
|
|
}
|
|
|
|
|
|
XS(XS_Curses_Vars_TIESCALAR)
|
|
{
|
|
dXSARGS;
|
|
c_exactargs("TIESCALAR", items, 2);
|
|
{
|
|
char * pack = (char *)SvPV_nolen(ST(0));
|
|
int n = (int)SvIV(ST(1));
|
|
|
|
ST(0) = sv_newmortal();
|
|
sv_setref_iv(ST(0), pack, n);
|
|
}
|
|
XSRETURN(1);
|
|
}
|
|
|
|
XS(XS_Curses_Vars_FETCH)
|
|
{
|
|
dXSARGS;
|
|
{
|
|
int num = (int)SvIV(SvRV((SV*)ST(0)));
|
|
|
|
ST(0) = sv_newmortal();
|
|
switch (num) {
|
|
case 1:
|
|
#ifdef C_LINES
|
|
sv_setiv(ST(0), (IV)LINES);
|
|
#else
|
|
c_var_not_there("LINES");
|
|
#endif
|
|
break;
|
|
case 2:
|
|
#ifdef C_COLS
|
|
sv_setiv(ST(0), (IV)COLS);
|
|
#else
|
|
c_var_not_there("COLS");
|
|
#endif
|
|
break;
|
|
case 3:
|
|
#ifdef C_STDSCR
|
|
c_window2sv(ST(0), stdscr);
|
|
#else
|
|
c_var_not_there("stdscr");
|
|
#endif
|
|
break;
|
|
case 4:
|
|
#ifdef C_CURSCR
|
|
c_window2sv(ST(0), curscr);
|
|
#else
|
|
c_var_not_there("curscr");
|
|
#endif
|
|
break;
|
|
case 5:
|
|
#ifdef C_COLORS
|
|
sv_setiv(ST(0), (IV)COLORS);
|
|
#else
|
|
c_var_not_there("COLORS");
|
|
#endif
|
|
break;
|
|
case 6:
|
|
#ifdef C_COLOR_PAIRS
|
|
sv_setiv(ST(0), (IV)COLOR_PAIRS);
|
|
#else
|
|
c_var_not_there("COLOR_PAIRS");
|
|
#endif
|
|
break;
|
|
default:
|
|
croak("Curses::Vars::FETCH called with bad index");
|
|
/* NOTREACHED */
|
|
}
|
|
}
|
|
XSRETURN(1);
|
|
}
|
|
|
|
XS(XS_Curses_Vars_STORE)
|
|
{
|
|
dXSARGS;
|
|
{
|
|
int num = (int)SvIV((SV*)SvRV(ST(0)));
|
|
|
|
switch (num) {
|
|
case 1:
|
|
#ifdef C_LINES
|
|
LINES = (int)SvIV(ST(1));
|
|
#else
|
|
c_var_not_there("LINES");
|
|
#endif
|
|
break;
|
|
case 2:
|
|
#ifdef C_COLS
|
|
COLS = (int)SvIV(ST(1));
|
|
#else
|
|
c_var_not_there("COLS");
|
|
#endif
|
|
break;
|
|
case 3:
|
|
#ifdef C_STDSCR
|
|
stdscr = c_sv2window(ST(1), -1);
|
|
#else
|
|
c_var_not_there("stdscr");
|
|
#endif
|
|
break;
|
|
case 4:
|
|
#ifdef C_CURSCR
|
|
curscr = c_sv2window(ST(1), -1);
|
|
#else
|
|
c_var_not_there("curscr");
|
|
#endif
|
|
break;
|
|
case 5:
|
|
#ifdef C_COLORS
|
|
COLORS = (int)SvIV(ST(1));
|
|
#else
|
|
c_var_not_there("COLORS");
|
|
#endif
|
|
break;
|
|
case 6:
|
|
#ifdef C_COLOR_PAIRS
|
|
COLOR_PAIRS = (int)SvIV(ST(1));
|
|
#else
|
|
c_var_not_there("COLOR_PAIRS");
|
|
#endif
|
|
break;
|
|
default:
|
|
croak("Curses::Vars::STORE called with bad index");
|
|
/* NOTREACHED */
|
|
}
|
|
ST(0) = &PL_sv_yes;
|
|
}
|
|
XSRETURN(1);
|
|
}
|
|
|
|
XS(XS_Curses_Vars_DESTROY)
|
|
{
|
|
dXSARGS;
|
|
{
|
|
SV * rv = ST(0);
|
|
|
|
ST(0) = &PL_sv_yes;
|
|
}
|
|
XSRETURN(1);
|
|
}
|