require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_NFS_NFSNODE_H_)) {
    eval 'sub _NFS_NFSNODE_H_ () {1;}' unless defined(&_NFS_NFSNODE_H_);
    unless(defined(&_NFS_NFS_H_)) {
	require 'nfs/nfs.ph';
    }
    require 'sys/rwlock.ph';
    eval 'sub NFSNUMCOOKIES () {31;}' unless defined(&NFSNUMCOOKIES);
    eval 'sub NFS_COMMIT_PUSH_VALID () {0x1;}' unless defined(&NFS_COMMIT_PUSH_VALID);
    eval 'sub NFS_COMMIT_PUSHED_VALID () {0x2;}' unless defined(&NFS_COMMIT_PUSHED_VALID);
    eval 'sub n_atim () { ($n_un1->{nf_atim});}' unless defined(&n_atim);
    eval 'sub n_mtim () { ($n_un2->{nf_mtim});}' unless defined(&n_mtim);
    eval 'sub n_sillyrename () { ($n_un3->{nf_silly});}' unless defined(&n_sillyrename);
    eval 'sub n_cookieverf () { ($n_un1->{nd_cookieverf});}' unless defined(&n_cookieverf);
    eval 'sub n_direofoffset () { ($n_un2->{nd_direof});}' unless defined(&n_direofoffset);
    eval 'sub n_cookies () { ($n_un3->{nd_cook});}' unless defined(&n_cookies);
    eval 'sub NFLUSHWANT () {0x1;}' unless defined(&NFLUSHWANT);
    eval 'sub NFLUSHINPROG () {0x2;}' unless defined(&NFLUSHINPROG);
    eval 'sub NMODIFIED () {0x4;}' unless defined(&NMODIFIED);
    eval 'sub NWRITEERR () {0x8;}' unless defined(&NWRITEERR);
    eval 'sub NACC () {0x100;}' unless defined(&NACC);
    eval 'sub NUPD () {0x200;}' unless defined(&NUPD);
    eval 'sub NCHG () {0x400;}' unless defined(&NCHG);
    eval 'sub VTONFS {
        my($vp) = @_;
	    eval q((($vp)-> &v_data));
    }' unless defined(&VTONFS);
    eval 'sub NFSTOV {
        my($np) = @_;
	    eval q((($np)-> &n_vnode));
    }' unless defined(&NFSTOV);
    if(defined(&_KERNEL)) {
	eval 'sub nfs_ioctl () {(( &int (*)( &void *)) &enoioctl);}' unless defined(&nfs_ioctl);
	eval 'sub nfs_revoke () { &vop_generic_revoke;}' unless defined(&nfs_revoke);
	eval 'sub nfs_lock () {(( &int (*)( &void *)) &vop_generic_lock);}' unless defined(&nfs_lock);
	eval 'sub nfs_unlock () {(( &int (*)( &void *)) &vop_generic_unlock);}' unless defined(&nfs_unlock);
	eval 'sub nfs_islocked () {(( &int (*)( &void *)) &vop_generic_islocked);}' unless defined(&nfs_islocked);
	eval 'sub nfs_reallocblks () {(( &int (*)( &void *)) &eopnotsupp);}' unless defined(&nfs_reallocblks);
    }
}
1;
