require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_NETINET6_MLD6_H_)) {
    eval 'sub _NETINET6_MLD6_H_ () {1;}' unless defined(&_NETINET6_MLD6_H_);
    eval 'sub MLD_MINLEN () {$sizeof{\'struct icmp6_hdr\'};}' unless defined(&MLD_MINLEN);
    eval 'sub MLD_V2_QUERY_MINLEN () {$sizeof{\'struct mldv2_query\'};}' unless defined(&MLD_V2_QUERY_MINLEN);
    eval 'sub MLD_MRC_EXP {
        my($x) = @_;
	    eval q((( &ntohs(($x)) >> 12) & 0x7));
    }' unless defined(&MLD_MRC_EXP);
    eval 'sub MLD_MRC_MANT {
        my($x) = @_;
	    eval q(( &ntohs(($x)) & 0xfff));
    }' unless defined(&MLD_MRC_MANT);
    eval 'sub MLD_QQIC_EXP {
        my($x) = @_;
	    eval q(((($x) >> 4) & 0x7));
    }' unless defined(&MLD_QQIC_EXP);
    eval 'sub MLD_QQIC_MANT {
        my($x) = @_;
	    eval q((($x) & 0xf));
    }' unless defined(&MLD_QQIC_MANT);
    eval 'sub MLD_QRESV {
        my($x) = @_;
	    eval q(((($x) >> 4) & 0xf));
    }' unless defined(&MLD_QRESV);
    eval 'sub MLD_SFLAG {
        my($x) = @_;
	    eval q(((($x) >> 3) & 0x1));
    }' unless defined(&MLD_SFLAG);
    eval 'sub MLD_QRV {
        my($x) = @_;
	    eval q((($x) & 0x7));
    }' unless defined(&MLD_QRV);
    eval 'sub mld_numrecs () { ($mld_icmp6_hdr->{icmp6_data16[1]});}' unless defined(&mld_numrecs);
    eval 'sub MLD_V2_REPORT_MAXRECS () {65535;}' unless defined(&MLD_V2_REPORT_MAXRECS);
    eval 'sub MLD_DO_NOTHING () {0;}' unless defined(&MLD_DO_NOTHING);
    eval 'sub MLD_MODE_IS_INCLUDE () {1;}' unless defined(&MLD_MODE_IS_INCLUDE);
    eval 'sub MLD_MODE_IS_EXCLUDE () {2;}' unless defined(&MLD_MODE_IS_EXCLUDE);
    eval 'sub MLD_CHANGE_TO_INCLUDE_MODE () {3;}' unless defined(&MLD_CHANGE_TO_INCLUDE_MODE);
    eval 'sub MLD_CHANGE_TO_EXCLUDE_MODE () {4;}' unless defined(&MLD_CHANGE_TO_EXCLUDE_MODE);
    eval 'sub MLD_ALLOW_NEW_SOURCES () {5;}' unless defined(&MLD_ALLOW_NEW_SOURCES);
    eval 'sub MLD_BLOCK_OLD_SOURCES () {6;}' unless defined(&MLD_BLOCK_OLD_SOURCES);
    eval 'sub MLD_V2_GENERAL_QUERY () {1;}' unless defined(&MLD_V2_GENERAL_QUERY);
    eval 'sub MLD_V2_GROUP_QUERY () {2;}' unless defined(&MLD_V2_GROUP_QUERY);
    eval 'sub MLD_V2_GROUP_SOURCE_QUERY () {3;}' unless defined(&MLD_V2_GROUP_SOURCE_QUERY);
    eval 'sub MLD_V1_MAX_RI () {10;}' unless defined(&MLD_V1_MAX_RI);
    eval 'sub MLD_TIMER_SCALE () {1000;}' unless defined(&MLD_TIMER_SCALE);
}
1;
