my $o = IO::File->new("/dev/tty", "w"); my $i = IO::File->new("/dev/tty", "r"); newterm(undef, $o, $i); endwin() #### #include #include int main() { FILE *i, *o; i = fopen( "/dev/tty", "r" ); o = fopen( "/dev/tty", "w" ); SCREEN *s = newterm(0, o, i); addch('a'); addch('b'); addch('c'); refresh(); endwin(); } #### XS(XS_Curses_newterm) { dXSARGS; #ifdef C_NEWTERM c_exactargs("newterm", items, 3); { char * type = ST(0) != &PL_sv_undef ? (char *)SvPV(ST(0),PL_na) : NULL; FILE * outfd = IoIFP(sv_2io(ST(1))); FILE * infd = IoIFP(sv_2io(ST(2))); SCREEN * ret = newterm(type, outfd, infd); ST(0) = sv_newmortal(); c_screen2sv(ST(0), ret); } XSRETURN(1); #else c_fun_not_there("newterm"); XSRETURN(0); #endif }