require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&v_rdev)) {
    sub v_rdev () {	 ($v_specinfo->{si_rdev});}
}
unless(defined(&v_hashchain)) {
    sub v_hashchain () {	 ($v_specinfo->{si_hashchain});}
}
unless(defined(&v_specnext)) {
    sub v_specnext () {	 ($v_specinfo->{si_specnext});}
}
unless(defined(&v_specmountpoint)) {
    sub v_specmountpoint () {	 ($v_specinfo->{si_mountpoint});}
}
unless(defined(&v_speclockf)) {
    sub v_speclockf () {	 ($v_specinfo->{si_lockf});}
}
unless(defined(&v_specparent)) {
    sub v_specparent () {	 ($v_specinfo->{si_ci}->{ci_parent});}
}
unless(defined(&v_specbitmap)) {
    sub v_specbitmap () {	 ($v_specinfo->{si_ci}->{ci_bitmap});}
}
unless(defined(&SPECHSZ)) {
    sub SPECHSZ () {	64;}
}
if((((defined(&SPECHSZ) ? &SPECHSZ : undef)((defined(&SPECHSZ) ? &SPECHSZ : undef)-1)) == 0)) {
    eval 'sub SPECHASH {
        my($rdev) = @_;
	    eval q(((($rdev>>5)+($rdev))( &SPECHSZ-1)));
    }' unless defined(&SPECHASH);
} else {
    eval 'sub SPECHASH {
        my($rdev) = @_;
	    eval q((((($rdev>>5)+($rdev)))% &SPECHSZ));
    }' unless defined(&SPECHASH);
}
1;
