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