require '_h2ph_pre.ph';

no warnings qw(redefine misc);

if(defined(&_KERNEL)) {
    eval("sub WSEMUL_RESET () { 0; }") unless defined(&WSEMUL_RESET);
    eval("sub WSEMUL_SYNCFONT () { 1; }") unless defined(&WSEMUL_SYNCFONT);
    eval("sub WSEMUL_CLEARSCREEN () { 2; }") unless defined(&WSEMUL_CLEARSCREEN);
    eval("sub WSEMUL_CLEARCURSOR () { 3; }") unless defined(&WSEMUL_CLEARCURSOR);
    eval("sub ABORT_OK () { 0; }") unless defined(&ABORT_OK);
    eval("sub ABORT_FAILED_CURSOR () { 1; }") unless defined(&ABORT_FAILED_CURSOR);
    eval("sub ABORT_FAILED_JUMP_SCROLL () { 2; }") unless defined(&ABORT_FAILED_JUMP_SCROLL);
    eval("sub ABORT_FAILED_OTHER () { 3; }") unless defined(&ABORT_FAILED_OTHER);
    eval 'sub WSEMULOP {
        my($rc, $edp, $was, $rutin, $args) = @_;
	    eval q( &do {  &if (($was)-> &skip != 0) { ($was)-> &skip--; ($rc) = 0; }  &else { ($rc) = (*($edp)-> ($emulops->{rutin})) $args ; }  &if (($rc) == 0) ($was)-> &done++; }  &while (0));
    }' unless defined(&WSEMULOP);
}
1;
