xref: /csrg-svn/sys/kern/vfs_conf.c (revision 51456)
1 /*
2  * Copyright (c) 1989 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)vfs_conf.c	7.4 (Berkeley) 11/01/91
8  */
9 
10 #include <sys/param.h>
11 #include <sys/mount.h>
12 #include <ufs/ffs/ffs_extern.h>
13 
14 /*
15  * This specifies the filesystem used to mount the root.
16  * This specification should be done by /etc/config.
17  */
18 int (*mountroot)() = ffs_mountroot;
19 
20 /*
21  * These define the root filesystem and device.
22  */
23 struct mount *rootfs;
24 struct vnode *rootdir;
25 
26 /*
27  * Set up the filesystem operations for vnodes.
28  * The types are defined in mount.h.
29  */
30 extern	struct vfsops ufs_vfsops;
31 
32 #ifdef LFS
33 extern	struct vfsops lfs_vfsops;
34 #endif
35 
36 #ifdef MFS
37 extern	struct vfsops mfs_vfsops;
38 #endif
39 
40 #ifdef NFS
41 extern	struct vfsops nfs_vfsops;
42 #endif
43 
44 struct vfsops *vfssw[] = {
45 	NULL,			/* 0 = MOUNT_NONE */
46 	&ufs_vfsops,		/* 1 = MOUNT_UFS */
47 #ifdef NFS
48 	&nfs_vfsops,		/* 2 = MOUNT_NFS */
49 #else
50 	NULL,
51 #endif
52 #ifdef MFS
53 	&mfs_vfsops,		/* 3 = MOUNT_MFS */
54 #else
55 	NULL,
56 #endif
57 	NULL,			/* 4 = MOUNT_PC */
58 #ifdef LFS
59 	&lfs_vfsops,		/* 5 = MOUNT_LFS */
60 #else
61 	NULL,
62 #endif
63 };
64