xref: /csrg-svn/sys/kern/vfs_conf.c (revision 39046)
137488Smckusick /*
237488Smckusick  * Copyright (c) 1989 The Regents of the University of California.
337488Smckusick  * All rights reserved.
437488Smckusick  *
537488Smckusick  * Redistribution and use in source and binary forms are permitted
637488Smckusick  * provided that the above copyright notice and this paragraph are
737488Smckusick  * duplicated in all such forms and that any documentation,
837488Smckusick  * advertising materials, and other materials related to such
937488Smckusick  * distribution and use acknowledge that the software was developed
1037488Smckusick  * by the University of California, Berkeley.  The name of the
1137488Smckusick  * University may not be used to endorse or promote products derived
1237488Smckusick  * from this software without specific prior written permission.
1337488Smckusick  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
1437488Smckusick  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
1537488Smckusick  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1637488Smckusick  *
17*39046Smckusick  *	@(#)vfs_conf.c	7.2 (Berkeley) 09/05/89
1837488Smckusick  */
1937488Smckusick 
2037488Smckusick #include "param.h"
2137488Smckusick #include "mount.h"
2237488Smckusick 
2337488Smckusick /*
2437488Smckusick  * This specifies the filesystem used to mount the root.
2537488Smckusick  * This specification should be done by /etc/config.
2637488Smckusick  */
2737488Smckusick extern int ufs_mountroot();
2837488Smckusick int (*mountroot)() = ufs_mountroot;
2937488Smckusick 
3037488Smckusick /*
3137488Smckusick  * These define the root filesystem and device.
3237488Smckusick  */
3337488Smckusick struct mount *rootfs;
3437488Smckusick struct vnode *rootdir;
3537488Smckusick 
3637488Smckusick /*
3737488Smckusick  * Set up the filesystem operations for vnodes.
3837488Smckusick  * The types are defined in mount.h.
3937488Smckusick  */
4037488Smckusick extern	struct vfsops ufs_vfsops;
4137488Smckusick 
4237488Smckusick #ifdef NFS
4337488Smckusick extern	struct vfsops nfs_vfsops;
4437488Smckusick #endif
4537488Smckusick 
46*39046Smckusick #ifdef MFS
47*39046Smckusick extern	struct vfsops mfs_vfsops;
48*39046Smckusick #endif
49*39046Smckusick 
5037488Smckusick struct vfsops *vfssw[] = {
5137488Smckusick 	(struct vfsops *)0,	/* 0 = MOUNT_NONE */
5237488Smckusick 	&ufs_vfsops,		/* 1 = MOUNT_UFS */
5337488Smckusick #ifdef NFS
5437488Smckusick 	&nfs_vfsops,		/* 2 = MOUNT_NFS */
5537488Smckusick #else
5637488Smckusick 	(struct vfsops *)0,
5737488Smckusick #endif
58*39046Smckusick #ifdef MFS
59*39046Smckusick 	&mfs_vfsops,		/* 3 = MOUNT_MFS */
60*39046Smckusick #else
61*39046Smckusick 	(struct vfsops *)0,
62*39046Smckusick #endif
63*39046Smckusick 	(struct vfsops *)0,	/* 4 = MOUNT_PC */
6437488Smckusick };
65