require '_h2ph_pre.ph';

unless(defined(&_NETISO_ISO_H_)) {
    eval 'sub _NETISO_ISO_H_ () {1;}' unless defined(&_NETISO_ISO_H_);
    eval 'sub IS_MULTICAST {
        local($snpa) = @_;
	    eval q((($snpa)[0] & 0x1));
    }' unless defined(&IS_MULTICAST);
    eval 'sub ISOPROTO_TCP () {6;}' unless defined(&ISOPROTO_TCP);
    eval 'sub ISOPROTO_UDP () {17;}' unless defined(&ISOPROTO_UDP);
    eval 'sub ISOPROTO_TP0 () {25;}' unless defined(&ISOPROTO_TP0);
    eval 'sub ISOPROTO_TP1 () {26;}' unless defined(&ISOPROTO_TP1);
    eval 'sub ISOPROTO_TP2 () {27;}' unless defined(&ISOPROTO_TP2);
    eval 'sub ISOPROTO_TP3 () {28;}' unless defined(&ISOPROTO_TP3);
    eval 'sub ISOPROTO_TP4 () {29;}' unless defined(&ISOPROTO_TP4);
    eval 'sub ISOPROTO_TP () { &ISOPROTO_TP4;}' unless defined(&ISOPROTO_TP);
    eval 'sub ISOPROTO_CLTP () {30;}' unless defined(&ISOPROTO_CLTP);
    eval 'sub ISOPROTO_CLNP () {31;}' unless defined(&ISOPROTO_CLNP);
    eval 'sub ISOPROTO_X25 () {32;}' unless defined(&ISOPROTO_X25);
    eval 'sub ISOPROTO_INACT_NL () {33;}' unless defined(&ISOPROTO_INACT_NL);
    eval 'sub ISOPROTO_ESIS () {34;}' unless defined(&ISOPROTO_ESIS);
    eval 'sub ISOPROTO_INTRAISIS () {35;}' unless defined(&ISOPROTO_INTRAISIS);
    eval 'sub ISOPROTO_IDRP () {36;}' unless defined(&ISOPROTO_IDRP);
    eval 'sub ISOPROTO_RAW () {255;}' unless defined(&ISOPROTO_RAW);
    eval 'sub ISOPROTO_MAX () {256;}' unless defined(&ISOPROTO_MAX);
    eval 'sub ISO_PORT_RESERVED () {1024;}' unless defined(&ISO_PORT_RESERVED);
    eval 'sub ISO_PORT_USERRESERVED () {5000;}' unless defined(&ISO_PORT_USERRESERVED);
    eval 'sub ISO_PORT_MAINT () {501;}' unless defined(&ISO_PORT_MAINT);
    eval 'sub ISO_PORT_ECHO () {507;}' unless defined(&ISO_PORT_ECHO);
    eval 'sub ISO_PORT_DISCARD () {509;}' unless defined(&ISO_PORT_DISCARD);
    eval 'sub ISO_PORT_SYSTAT () {511;}' unless defined(&ISO_PORT_SYSTAT);
    eval 'sub ISO_PORT_NETSTAT () {515;}' unless defined(&ISO_PORT_NETSTAT);
    eval 'sub ISO_PORT_LOGIN () {513;}' unless defined(&ISO_PORT_LOGIN);
    eval 'sub ISO_PORT_PUBLIC () {1024;}' unless defined(&ISO_PORT_PUBLIC);
    eval 'sub ISO8473_CLNP () {0x81;}' unless defined(&ISO8473_CLNP);
    eval 'sub ISO9542_ESIS () {0x82;}' unless defined(&ISO9542_ESIS);
    eval 'sub ISO9542X25_ESIS () {0x8a;}' unless defined(&ISO9542X25_ESIS);
    eval 'sub ISO10589_ISIS () {0x83;}' unless defined(&ISO10589_ISIS);
    eval 'sub ISO8878A_CONS () {0x84;}' unless defined(&ISO8878A_CONS);
    eval 'sub ISO10747_IDRP () {0x85;}' unless defined(&ISO10747_IDRP);
    unless(defined(&IN_CLASSA_NET)) {
	require 'netinet/in.ph';
    }
    eval 'sub siso_nlen () { ($siso_addr->{isoa_len});}' unless defined(&siso_nlen);
    eval 'sub siso_data () { ($siso_addr->{isoa_genaddr});}' unless defined(&siso_data);
    eval 'sub TSEL {
        local($s) = @_;
	    eval q(((($s)-> &siso_data + ($s)-> &siso_nlen)));
    }' unless defined(&TSEL);
    eval 'sub SAME_ISOADDR {
        local($a, $b) = @_;
	    eval q(( &bcmp(-> &siso_data, -> &siso_data, ($a)-> &siso_nlen)==0));
    }' unless defined(&SAME_ISOADDR);
    eval 'sub AFI_37 () {0x37;}' unless defined(&AFI_37);
    eval 'sub AFI_OSINET () {0x47;}' unless defined(&AFI_OSINET);
    eval 'sub AFI_RFC986 () {0x47;}' unless defined(&AFI_RFC986);
    eval 'sub AFI_SNA () {0x;}' unless defined(&AFI_SNA);
    if(defined(&_KERNEL)) {
	eval 'sub satosiso {
	    local($sa) = @_;
    	    eval q((($sa)));
	}' unless defined(&satosiso);
	eval 'sub sisotosa {
	    local($siso) = @_;
    	    eval q((($siso)));
	}' unless defined(&sisotosa);
    } else {
	require 'sys/cdefs.ph';
    }
    eval 'sub _offsetof {
        local($t, $m) = @_;
	    eval q((((0)->$m)));
    }' unless defined(&_offsetof);
}
1;
