require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_SYS_SIGNALVAR_H_)) {
    eval 'sub _SYS_SIGNALVAR_H_ () {1;}' unless defined(&_SYS_SIGNALVAR_H_);
    eval 'sub SAS_OLDMASK () {0x1;}' unless defined(&SAS_OLDMASK);
    eval 'sub SAS_ALTSTACK () {0x2;}' unless defined(&SAS_ALTSTACK);
    eval 'sub SIG_CATCH () {2;}' unless defined(&SIG_CATCH);
    eval 'sub SIG_HOLD () {3;}' unless defined(&SIG_HOLD);
    eval 'sub SIGACTION {
        my($p, $sig) = @_;
	    eval q(( ($p->{p_sigacts}->{ps_sigact[&(sig)]})));
    }' unless defined(&SIGACTION);
    eval 'sub CURSIG {
        my($p) = @_;
	    eval q(((($p)-> &p_siglist == 0|| ((($p)-> &p_flag &  &P_TRACED) == 0 && (($p)-> &p_siglist & ~($p)-> &p_sigmask) == 0)) ? 0:  &issignal($p)));
    }' unless defined(&CURSIG);
    eval 'sub CLRSIG {
        my($p, $sig) = @_;
	    eval q( &atomic_clearbits_int(($p)-> &p_siglist,  &sigmask($sig)));
    }' unless defined(&CLRSIG);
    eval 'sub SA_KILL () {0x1;}' unless defined(&SA_KILL);
    eval 'sub SA_CORE () {0x2;}' unless defined(&SA_CORE);
    eval 'sub SA_STOP () {0x4;}' unless defined(&SA_STOP);
    eval 'sub SA_TTYSTOP () {0x8;}' unless defined(&SA_TTYSTOP);
    eval 'sub SA_IGNORE () {0x10;}' unless defined(&SA_IGNORE);
    eval 'sub SA_CONT () {0x20;}' unless defined(&SA_CONT);
    eval 'sub SA_CANTMASK () {0x40;}' unless defined(&SA_CANTMASK);
    if(defined(&SIGPROP)) {
	eval 'sub contsigmask () {( &sigmask( &SIGCONT));}' unless defined(&contsigmask);
	eval 'sub stopsigmask () {( &sigmask( &SIGSTOP) |  &sigmask( &SIGTSTP) |  &sigmask( &SIGTTIN) |  &sigmask( &SIGTTOU));}' unless defined(&stopsigmask);
    }
    eval 'sub sigcantmask () {( &sigmask( &SIGKILL) |  &sigmask( &SIGSTOP));}' unless defined(&sigcantmask);
    if(defined(&_KERNEL)) {
    }
}
1;
