require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&UDF_HASHTBLSIZE)) {
    sub UDF_HASHTBLSIZE () {	100;}
}
unless(defined(&u_diroff)) {
    sub u_diroff () {	 ($un_u->{u_diroff});}
}
unless(defined(&u_vatlen)) {
    sub u_vatlen () {	 ($un_u->{u_vatlen});}
}
unless(defined(&UDF_MNT_FIND_VAT)) {
    sub UDF_MNT_FIND_VAT () {	0x1;}
}
unless(defined(&UDF_MNT_USES_VAT)) {
    sub UDF_MNT_USES_VAT () {	0x2;}
}
unless(defined(&VFSTOUDFFS)) {
    sub VFSTOUDFFS {
	my($mp) = @_;
	eval q(((($mp)-> &mnt_data)));
    }
}
unless(defined(&VTOU)) {
    sub VTOU {
	my($vp) = @_;
	eval q(((($vp)-> &v_data)));
    }
}
unless(defined(&RDSECTOR)) {
    sub RDSECTOR {
	my($devvp, $sector, $size, $bp) = @_;
	eval q( &bread($devvp, $sector << ( ($ump->{um_bshift}) -  &DEV_BSHIFT), $size,  &NOCRED, $bp));
    }
}
unless(defined(&udf_readlblks)) {
    sub udf_readlblks {
	my($ump,$sector,$size,$bp) = @_;
	eval q({ ( &RDSECTOR( ($ump->{um_devvp}), $sector, ($size +  ($ump->{um_bmask})) & ~ ($ump->{um_bmask}), $bp)); });
    }
}
1;
