require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&EN_NTX)) {
    eval 'sub EN_NTX () {8;}' unless defined(&EN_NTX);
}
unless(defined(&EN_TXSZ)) {
    eval 'sub EN_TXSZ () {32;}' unless defined(&EN_TXSZ);
}
unless(defined(&EN_RXSZ)) {
    eval 'sub EN_RXSZ () {32;}' unless defined(&EN_RXSZ);
}
unless(defined(&EN_MAXNRX)) {
    sub EN_MAXNRX () {	((2048-( &EN_NTX* &EN_TXSZ))/ &EN_RXSZ);}
}
if(defined( &__NetBSD__) || defined( &__OpenBSD__) || defined( &__bsdi__)) {
    eval 'sub EN_INTR_TYPE () {\'int\';}' unless defined(&EN_INTR_TYPE);
    eval 'sub EN_INTR_RET {
        my($X) = @_;
	    eval q( &return($X));
    }' unless defined(&EN_INTR_RET);
    if(defined( &__NetBSD__) || defined( &__OpenBSD__)) {
	eval 'sub EN_IOCTL_CMDT () {\'u_long\';}' unless defined(&EN_IOCTL_CMDT);
    }
 elsif(defined( &__bsdi__)) {
	eval 'sub EN_IOCTL_CMDT () {\'int\';}' unless defined(&EN_IOCTL_CMDT);
    }
}
 elsif(defined( &__FreeBSD__)) {
    eval 'sub EN_INTR_TYPE () { &void;}' unless defined(&EN_INTR_TYPE);
    eval 'sub EN_INTR_RET {
        my($X) = @_;
	    eval q( &return);
    }' unless defined(&EN_INTR_RET);
    eval 'sub EN_IOCTL_CMDT () {\'int\';}' unless defined(&EN_IOCTL_CMDT);
    eval 'sub DV_IFNET () {1;}' unless defined(&DV_IFNET);
}
1;
