xref: /csrg-svn/sys/kern/vfs_conf.c (revision 44456)
137488Smckusick /*
237488Smckusick  * Copyright (c) 1989 The Regents of the University of California.
337488Smckusick  * All rights reserved.
437488Smckusick  *
5*44456Sbostic  * %sccs.include.redist.c%
637488Smckusick  *
7*44456Sbostic  *	@(#)vfs_conf.c	7.3 (Berkeley) 06/28/90
837488Smckusick  */
937488Smckusick 
1037488Smckusick #include "param.h"
1137488Smckusick #include "mount.h"
1237488Smckusick 
1337488Smckusick /*
1437488Smckusick  * This specifies the filesystem used to mount the root.
1537488Smckusick  * This specification should be done by /etc/config.
1637488Smckusick  */
1737488Smckusick extern int ufs_mountroot();
1837488Smckusick int (*mountroot)() = ufs_mountroot;
1937488Smckusick 
2037488Smckusick /*
2137488Smckusick  * These define the root filesystem and device.
2237488Smckusick  */
2337488Smckusick struct mount *rootfs;
2437488Smckusick struct vnode *rootdir;
2537488Smckusick 
2637488Smckusick /*
2737488Smckusick  * Set up the filesystem operations for vnodes.
2837488Smckusick  * The types are defined in mount.h.
2937488Smckusick  */
3037488Smckusick extern	struct vfsops ufs_vfsops;
3137488Smckusick 
3237488Smckusick #ifdef NFS
3337488Smckusick extern	struct vfsops nfs_vfsops;
3437488Smckusick #endif
3537488Smckusick 
3639046Smckusick #ifdef MFS
3739046Smckusick extern	struct vfsops mfs_vfsops;
3839046Smckusick #endif
3939046Smckusick 
4037488Smckusick struct vfsops *vfssw[] = {
4137488Smckusick 	(struct vfsops *)0,	/* 0 = MOUNT_NONE */
4237488Smckusick 	&ufs_vfsops,		/* 1 = MOUNT_UFS */
4337488Smckusick #ifdef NFS
4437488Smckusick 	&nfs_vfsops,		/* 2 = MOUNT_NFS */
4537488Smckusick #else
4637488Smckusick 	(struct vfsops *)0,
4737488Smckusick #endif
4839046Smckusick #ifdef MFS
4939046Smckusick 	&mfs_vfsops,		/* 3 = MOUNT_MFS */
5039046Smckusick #else
5139046Smckusick 	(struct vfsops *)0,
5239046Smckusick #endif
5339046Smckusick 	(struct vfsops *)0,	/* 4 = MOUNT_PC */
5437488Smckusick };
55