require '_h2ph_pre.ph';

unless(defined(&_SYS_MOUNT_H_)) {
    eval 'sub _SYS_MOUNT_H_ () {1;}' unless defined(&_SYS_MOUNT_H_);
    unless(defined(&_KERNEL)) {
	require 'sys/ucred.ph';
    }
    require 'sys/queue.ph';
    require 'sys/lock.ph';
    eval 'sub MAXFIDSZ () {16;}' unless defined(&MAXFIDSZ);
    eval 'sub ISOFSMNT_NORRIP () {0x00000001;}' unless defined(&ISOFSMNT_NORRIP);
    eval 'sub ISOFSMNT_GENS () {0x00000002;}' unless defined(&ISOFSMNT_GENS);
    eval 'sub ISOFSMNT_EXTATT () {0x00000004;}' unless defined(&ISOFSMNT_EXTATT);
    eval 'sub ISOFSMNT_NOJOLIET () {0x00000008;}' unless defined(&ISOFSMNT_NOJOLIET);
    eval 'sub NFS_ARGSVERSION () {4;}' unless defined(&NFS_ARGSVERSION);
    unless(defined(&_KERNEL)) {
	eval 'sub NFSMNT_RESVPORT () {0x00000000;}' unless defined(&NFSMNT_RESVPORT);
    }
    eval 'sub NFSMNT_SOFT () {0x00000001;}' unless defined(&NFSMNT_SOFT);
    eval 'sub NFSMNT_WSIZE () {0x00000002;}' unless defined(&NFSMNT_WSIZE);
    eval 'sub NFSMNT_RSIZE () {0x00000004;}' unless defined(&NFSMNT_RSIZE);
    eval 'sub NFSMNT_TIMEO () {0x00000008;}' unless defined(&NFSMNT_TIMEO);
    eval 'sub NFSMNT_RETRANS () {0x00000010;}' unless defined(&NFSMNT_RETRANS);
    eval 'sub NFSMNT_MAXGRPS () {0x00000020;}' unless defined(&NFSMNT_MAXGRPS);
    eval 'sub NFSMNT_INT () {0x00000040;}' unless defined(&NFSMNT_INT);
    eval 'sub NFSMNT_NOCONN () {0x00000080;}' unless defined(&NFSMNT_NOCONN);
    eval 'sub NFSMNT_NQNFS () {0x00000100;}' unless defined(&NFSMNT_NQNFS);
    eval 'sub NFSMNT_NFSV3 () {0x00000200;}' unless defined(&NFSMNT_NFSV3);
    eval 'sub NFSMNT_KERB () {0x00000400;}' unless defined(&NFSMNT_KERB);
    eval 'sub NFSMNT_DUMBTIMR () {0x00000800;}' unless defined(&NFSMNT_DUMBTIMR);
    eval 'sub NFSMNT_LEASETERM () {0x00001000;}' unless defined(&NFSMNT_LEASETERM);
    eval 'sub NFSMNT_READAHEAD () {0x00002000;}' unless defined(&NFSMNT_READAHEAD);
    eval 'sub NFSMNT_DEADTHRESH () {0x00004000;}' unless defined(&NFSMNT_DEADTHRESH);
    if(defined(&_KERNEL)) {
	eval 'sub NFSMNT_NOAC () {0x00008000;}' unless defined(&NFSMNT_NOAC);
    }
    eval 'sub NFSMNT_RDIRPLUS () {0x00010000;}' unless defined(&NFSMNT_RDIRPLUS);
    eval 'sub NFSMNT_READDIRSIZE () {0x00020000;}' unless defined(&NFSMNT_READDIRSIZE);
    eval 'sub NFSMNT_ACREGMIN () {0x00040000;}' unless defined(&NFSMNT_ACREGMIN);
    eval 'sub NFSMNT_ACREGMAX () {0x00080000;}' unless defined(&NFSMNT_ACREGMAX);
    eval 'sub NFSMNT_ACDIRMIN () {0x00100000;}' unless defined(&NFSMNT_ACDIRMIN);
    eval 'sub NFSMNT_ACDIRMAX () {0x00200000;}' unless defined(&NFSMNT_ACDIRMAX);
    eval 'sub NFSMNT_INTERNAL () {0xfffc0000;}' unless defined(&NFSMNT_INTERNAL);
    eval 'sub NFSMNT_HASWRITEVERF () {0x00040000;}' unless defined(&NFSMNT_HASWRITEVERF);
    eval 'sub NFSMNT_GOTPATHCONF () {0x00080000;}' unless defined(&NFSMNT_GOTPATHCONF);
    eval 'sub NFSMNT_GOTFSINFO () {0x00100000;}' unless defined(&NFSMNT_GOTFSINFO);
    eval 'sub NFSMNT_MNTD () {0x00200000;}' unless defined(&NFSMNT_MNTD);
    eval 'sub NFSMNT_DISMINPROG () {0x00400000;}' unless defined(&NFSMNT_DISMINPROG);
    eval 'sub NFSMNT_DISMNT () {0x00800000;}' unless defined(&NFSMNT_DISMNT);
    eval 'sub NFSMNT_SNDLOCK () {0x01000000;}' unless defined(&NFSMNT_SNDLOCK);
    eval 'sub NFSMNT_WANTSND () {0x02000000;}' unless defined(&NFSMNT_WANTSND);
    eval 'sub NFSMNT_RCVLOCK () {0x04000000;}' unless defined(&NFSMNT_RCVLOCK);
    eval 'sub NFSMNT_WANTRCV () {0x08000000;}' unless defined(&NFSMNT_WANTRCV);
    eval 'sub NFSMNT_WAITAUTH () {0x10000000;}' unless defined(&NFSMNT_WAITAUTH);
    eval 'sub NFSMNT_HASAUTH () {0x20000000;}' unless defined(&NFSMNT_HASAUTH);
    eval 'sub NFSMNT_WANTAUTH () {0x40000000;}' unless defined(&NFSMNT_WANTAUTH);
    eval 'sub NFSMNT_AUTHERR () {0x80000000;}' unless defined(&NFSMNT_AUTHERR);
    eval 'sub MSDOSFSMNT_SHORTNAME () {1;}' unless defined(&MSDOSFSMNT_SHORTNAME);
    eval 'sub MSDOSFSMNT_LONGNAME () {2;}' unless defined(&MSDOSFSMNT_LONGNAME);
    eval 'sub MSDOSFSMNT_NOWIN95 () {4;}' unless defined(&MSDOSFSMNT_NOWIN95);
    eval 'sub MSDOSFSMNT_GEMDOSFS () {8;}' unless defined(&MSDOSFSMNT_GEMDOSFS);
    eval 'sub MFSNAMELEN () {16;}' unless defined(&MFSNAMELEN);
    eval 'sub MNAMELEN () {90;}' unless defined(&MNAMELEN);
    eval 'sub MOUNT_FFS () {"ffs";}' unless defined(&MOUNT_FFS);
    eval 'sub MOUNT_UFS () { &MOUNT_FFS;}' unless defined(&MOUNT_UFS);
    eval 'sub MOUNT_NFS () {"nfs";}' unless defined(&MOUNT_NFS);
    eval 'sub MOUNT_MFS () {"mfs";}' unless defined(&MOUNT_MFS);
    eval 'sub MOUNT_MSDOS () {"msdos";}' unless defined(&MOUNT_MSDOS);
    eval 'sub MOUNT_LFS () {"lfs";}' unless defined(&MOUNT_LFS);
    eval 'sub MOUNT_LOFS () {"lofs";}' unless defined(&MOUNT_LOFS);
    eval 'sub MOUNT_FDESC () {"fdesc";}' unless defined(&MOUNT_FDESC);
    eval 'sub MOUNT_PORTAL () {"portal";}' unless defined(&MOUNT_PORTAL);
    eval 'sub MOUNT_NULL () {"null";}' unless defined(&MOUNT_NULL);
    eval 'sub MOUNT_UMAP () {"umap";}' unless defined(&MOUNT_UMAP);
    eval 'sub MOUNT_KERNFS () {"kernfs";}' unless defined(&MOUNT_KERNFS);
    eval 'sub MOUNT_PROCFS () {"procfs";}' unless defined(&MOUNT_PROCFS);
    eval 'sub MOUNT_AFS () {"afs";}' unless defined(&MOUNT_AFS);
    eval 'sub MOUNT_CD9660 () {"cd9660";}' unless defined(&MOUNT_CD9660);
    eval 'sub MOUNT_UNION () {"union";}' unless defined(&MOUNT_UNION);
    eval 'sub MOUNT_ADOSFS () {"adosfs";}' unless defined(&MOUNT_ADOSFS);
    eval 'sub MOUNT_EXT2FS () {"ext2fs";}' unless defined(&MOUNT_EXT2FS);
    eval 'sub MOUNT_NCPFS () {"ncpfs";}' unless defined(&MOUNT_NCPFS);
    eval 'sub MOUNT_XFS () {"xfs";}' unless defined(&MOUNT_XFS);
    eval 'sub MOUNT_TCFS () {"tcfs";}' unless defined(&MOUNT_TCFS);
    eval 'sub MNT_RDONLY () {0x00000001;}' unless defined(&MNT_RDONLY);
    eval 'sub MNT_SYNCHRONOUS () {0x00000002;}' unless defined(&MNT_SYNCHRONOUS);
    eval 'sub MNT_NOEXEC () {0x00000004;}' unless defined(&MNT_NOEXEC);
    eval 'sub MNT_NOSUID () {0x00000008;}' unless defined(&MNT_NOSUID);
    eval 'sub MNT_NODEV () {0x00000010;}' unless defined(&MNT_NODEV);
    eval 'sub MNT_UNION () {0x00000020;}' unless defined(&MNT_UNION);
    eval 'sub MNT_ASYNC () {0x00000040;}' unless defined(&MNT_ASYNC);
    eval 'sub MNT_EXRDONLY () {0x00000080;}' unless defined(&MNT_EXRDONLY);
    eval 'sub MNT_EXPORTED () {0x00000100;}' unless defined(&MNT_EXPORTED);
    eval 'sub MNT_DEFEXPORTED () {0x00000200;}' unless defined(&MNT_DEFEXPORTED);
    eval 'sub MNT_EXPORTANON () {0x00000400;}' unless defined(&MNT_EXPORTANON);
    eval 'sub MNT_EXKERB () {0x00000800;}' unless defined(&MNT_EXKERB);
    eval 'sub MNT_LOCAL () {0x00001000;}' unless defined(&MNT_LOCAL);
    eval 'sub MNT_QUOTA () {0x00002000;}' unless defined(&MNT_QUOTA);
    eval 'sub MNT_ROOTFS () {0x00004000;}' unless defined(&MNT_ROOTFS);
    eval 'sub MNT_NOATIME () {0x00008000;}' unless defined(&MNT_NOATIME);
    eval 'sub MNT_VISFLAGMASK () {0x0400ffff;}' unless defined(&MNT_VISFLAGMASK);
    eval 'sub MNT_UPDATE () {0x00010000;}' unless defined(&MNT_UPDATE);
    eval 'sub MNT_DELEXPORT () {0x00020000;}' unless defined(&MNT_DELEXPORT);
    eval 'sub MNT_RELOAD () {0x00040000;}' unless defined(&MNT_RELOAD);
    eval 'sub MNT_FORCE () {0x00080000;}' unless defined(&MNT_FORCE);
    eval 'sub MNT_MLOCK () {0x00100000;}' unless defined(&MNT_MLOCK);
    eval 'sub MNT_MWAIT () {0x00200000;}' unless defined(&MNT_MWAIT);
    eval 'sub MNT_MPBUSY () {0x00400000;}' unless defined(&MNT_MPBUSY);
    eval 'sub MNT_MPWANT () {0x00800000;}' unless defined(&MNT_MPWANT);
    eval 'sub MNT_UNMOUNT () {0x01000000;}' unless defined(&MNT_UNMOUNT);
    eval 'sub MNT_WANTRDWR () {0x02000000;}' unless defined(&MNT_WANTRDWR);
    eval 'sub MNT_SOFTDEP () {0x04000000;}' unless defined(&MNT_SOFTDEP);
    eval 'sub VFS_GENERIC () {0;}' unless defined(&VFS_GENERIC);
    eval 'sub VFS_MAXTYPENUM () {1;}' unless defined(&VFS_MAXTYPENUM);
    eval 'sub VFS_CONF () {2;}' unless defined(&VFS_CONF);
    eval 'sub VFSGEN_MAXID () {3;}' unless defined(&VFSGEN_MAXID);
    eval 'sub CTL_VFSGENCTL_NAMES () {{ { 0, 0}, { "maxtypenum",  &CTLTYPE_INT }, { "conf",  &CTLTYPE_NODE } };}' unless defined(&CTL_VFSGENCTL_NAMES);
    if(defined(&_KERNEL)) {
	if(defined(&__STDC__)) {
	}
	eval 'sub VFS_MOUNT {
	    local($MP, $PATH, $DATA, $NDP, $P) = @_;
    	    eval q((*($MP)-> ($mnt_op->{vfs_mount}))($MP, $PATH, $DATA, $NDP, $P));
	}' unless defined(&VFS_MOUNT);
	eval 'sub VFS_START {
	    local($MP, $FLAGS, $P) = @_;
    	    eval q((*($MP)-> ($mnt_op->{vfs_start}))($MP, $FLAGS, $P));
	}' unless defined(&VFS_START);
	eval 'sub VFS_UNMOUNT {
	    local($MP, $FORCE, $P) = @_;
    	    eval q((*($MP)-> ($mnt_op->{vfs_unmount}))($MP, $FORCE, $P));
	}' unless defined(&VFS_UNMOUNT);
	eval 'sub VFS_ROOT {
	    local($MP, $VPP) = @_;
    	    eval q((*($MP)-> ($mnt_op->{vfs_root}))($MP, $VPP));
	}' unless defined(&VFS_ROOT);
	eval 'sub VFS_QUOTACTL {
	    local($MP,$C,$U,$A,$P) = @_;
    	    eval q((*($MP)-> ($mnt_op->{vfs_quotactl}))($MP, $C, $U, $A, $P));
	}' unless defined(&VFS_QUOTACTL);
	eval 'sub VFS_STATFS {
	    local($MP, $SBP, $P) = @_;
    	    eval q((*($MP)-> ($mnt_op->{vfs_statfs}))($MP, $SBP, $P));
	}' unless defined(&VFS_STATFS);
	eval 'sub VFS_SYNC {
	    local($MP, $WAIT, $C, $P) = @_;
    	    eval q((*($MP)-> ($mnt_op->{vfs_sync}))($MP, $WAIT, $C, $P));
	}' unless defined(&VFS_SYNC);
	eval 'sub VFS_VGET {
	    local($MP, $INO, $VPP) = @_;
    	    eval q((*($MP)-> ($mnt_op->{vfs_vget}))($MP, $INO, $VPP));
	}' unless defined(&VFS_VGET);
	eval 'sub VFS_FHTOVP {
	    local($MP, $FIDP, $VPP) = @_;
    	    eval q((*($MP)-> ($mnt_op->{vfs_fhtovp}))($MP, $FIDP, $VPP));
	}' unless defined(&VFS_FHTOVP);
	eval 'sub VFS_VPTOFH {
	    local($VP, $FIDP) = @_;
    	    eval q((*($VP)-> ($v_mount->{mnt_op}->{vfs_vptofh}))($VP, $FIDP));
	}' unless defined(&VFS_VPTOFH);
	eval 'sub VFS_CHECKEXP {
	    local($MP, $NAM, $EXFLG, $CRED) = @_;
    	    eval q((*($MP)-> ($mnt_op->{vfs_checkexp}))($MP, $NAM, $EXFLG, $CRED));
	}' unless defined(&VFS_CHECKEXP);
    }
    eval 'sub MNT_WAIT () {1;}' unless defined(&MNT_WAIT);
    eval 'sub MNT_NOWAIT () {2;}' unless defined(&MNT_NOWAIT);
    eval 'sub MNT_LAZY () {3;}' unless defined(&MNT_LAZY);
    if(defined(&_KERNEL)) {
	require 'net/radix.ph';
	require 'sys/socket.ph';
    }
    if(defined(&_KERNEL)) {
	if(defined(&DEBUG)) {
	}
    } else {
	require 'sys/cdefs.ph';
	unless(defined(&_SYS_STAT_H_)) {
	}
	if(!defined( &_POSIX_C_SOURCE)  && !defined( &_XOPEN_SOURCE)) {
	}
    }
}
1;
