xref: /original-bsd/sys/kern/vfs_conf.c (revision 7b081c7c)
1 /*
2  * Copyright (c) 1989 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms are permitted
6  * provided that the above copyright notice and this paragraph are
7  * duplicated in all such forms and that any documentation,
8  * advertising materials, and other materials related to such
9  * distribution and use acknowledge that the software was developed
10  * by the University of California, Berkeley.  The name of the
11  * University may not be used to endorse or promote products derived
12  * from this software without specific prior written permission.
13  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16  *
17  *	@(#)vfs_conf.c	7.2 (Berkeley) 09/05/89
18  */
19 
20 #include "param.h"
21 #include "mount.h"
22 
23 /*
24  * This specifies the filesystem used to mount the root.
25  * This specification should be done by /etc/config.
26  */
27 extern int ufs_mountroot();
28 int (*mountroot)() = ufs_mountroot;
29 
30 /*
31  * These define the root filesystem and device.
32  */
33 struct mount *rootfs;
34 struct vnode *rootdir;
35 
36 /*
37  * Set up the filesystem operations for vnodes.
38  * The types are defined in mount.h.
39  */
40 extern	struct vfsops ufs_vfsops;
41 
42 #ifdef NFS
43 extern	struct vfsops nfs_vfsops;
44 #endif
45 
46 #ifdef MFS
47 extern	struct vfsops mfs_vfsops;
48 #endif
49 
50 struct vfsops *vfssw[] = {
51 	(struct vfsops *)0,	/* 0 = MOUNT_NONE */
52 	&ufs_vfsops,		/* 1 = MOUNT_UFS */
53 #ifdef NFS
54 	&nfs_vfsops,		/* 2 = MOUNT_NFS */
55 #else
56 	(struct vfsops *)0,
57 #endif
58 #ifdef MFS
59 	&mfs_vfsops,		/* 3 = MOUNT_MFS */
60 #else
61 	(struct vfsops *)0,
62 #endif
63 	(struct vfsops *)0,	/* 4 = MOUNT_PC */
64 };
65