require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_ADOSFS_ADOSFS_H_)) {
    eval 'sub _ADOSFS_ADOSFS_H_ () {1;}' unless defined(&_ADOSFS_ADOSFS_H_);
    if(defined(&_KERNEL)) {
	require 'sys/mallocvar.ph';
	require 'miscfs/genfs/genfs_node.ph';
	eval("sub AROOT () { 0; }") unless defined(&AROOT);
	eval("sub ADIR () { 1; }") unless defined(&ADIR);
	eval("sub AFILE () { 2; }") unless defined(&AFILE);
	eval("sub ALDIR () { 3; }") unless defined(&ALDIR);
	eval("sub ALFILE () { 4; }") unless defined(&ALFILE);
	eval("sub ASLINK () { 5; }") unless defined(&ASLINK);
	eval 'sub ADMAXNAMELEN () {30;}' unless defined(&ADMAXNAMELEN);
	eval 'sub VTOA {
	    my($vp) = @_;
    	    eval q((($vp)-> &v_data));
	}' unless defined(&VTOA);
	eval 'sub ATOV {
	    my($ap) = @_;
    	    eval q((($ap)-> &vp));
	}' unless defined(&ATOV);
	eval 'sub ANODETABSZ {
	    my($ap) = @_;
    	    eval q(((($ap)-> &nwords - 56) * $sizeof{\'long\'}));
	}' unless defined(&ANODETABSZ);
	eval 'sub ANODETABENT {
	    my($ap) = @_;
    	    eval q((($ap)-> &nwords - 56));
	}' unless defined(&ANODETABENT);
	eval 'sub ANODENDATBLKENT {
	    my($ap) = @_;
    	    eval q((($ap)-> &nwords - 56));
	}' unless defined(&ANODENDATBLKENT);
	eval 'sub ANODEHASHSZ () {(512);}' unless defined(&ANODEHASHSZ);
	eval 'sub VFSTOADOSFS {
	    my($mp) = @_;
    	    eval q((($mp)-> &mnt_data));
	}' unless defined(&VFSTOADOSFS);
	eval 'sub IS_FFS {
	    my($amp) = @_;
    	    eval q((($amp)-> &dostype & 1));
	}' unless defined(&IS_FFS);
	eval 'sub IS_INTER {
	    my($amp) = @_;
    	    eval q(((($amp)-> &dostype & 7) > 1));
	}' unless defined(&IS_INTER);
	eval 'sub BBOFF () {(0);}' unless defined(&BBOFF);
	eval 'sub BPT_SHORT () {(( &u_int32_t)2);}' unless defined(&BPT_SHORT);
	eval 'sub BPT_DATA () {(( &u_int32_t)8);}' unless defined(&BPT_DATA);
	eval 'sub BPT_LIST () {(( &u_int32_t)16);}' unless defined(&BPT_LIST);
	eval 'sub BST_RDIR () {(( &u_int32_t)1);}' unless defined(&BST_RDIR);
	eval 'sub BST_UDIR () {(( &u_int32_t)2);}' unless defined(&BST_UDIR);
	eval 'sub BST_SLINK () {(( &u_int32_t)3);}' unless defined(&BST_SLINK);
	eval 'sub BST_LDIR () {(( &u_int32_t)4);}' unless defined(&BST_LDIR);
	eval 'sub BST_FILE () {(( &u_int32_t)-3);}' unless defined(&BST_FILE);
	eval 'sub BST_LFILE () {(( &u_int32_t)-4);}' unless defined(&BST_LFILE);
	eval 'sub OFS_DATA_OFFSET () {(24);}' unless defined(&OFS_DATA_OFFSET);
	if((defined(&BYTE_ORDER) ? &BYTE_ORDER : undef) != (defined(&BIG_ENDIAN) ? &BIG_ENDIAN : undef)) {
	} else {
	    eval 'sub adoswordn {
	        my($bp,$wn) = @_;
    		eval q((*(( &u_int32_t *)($bp)-> &b_data + ($wn))));
	    }' unless defined(&adoswordn);
	}
	eval 'sub advopprint {
	    my($p) = @_;
    	    eval q();
	}' unless defined(&advopprint);
    }
}
1;
