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.7 (Berkeley) 05/14/92 8 */ 9 10 #include <sys/param.h> 11 #include <sys/mount.h> 12 #include <sys/vnode.h> 13 14 #ifdef FFS 15 #include <ufs/ffs/ffs_extern.h> 16 17 /* 18 * This specifies the filesystem used to mount the root. 19 * This specification should be done by /etc/config. 20 */ 21 int (*mountroot)() = ffs_mountroot; 22 #endif 23 24 /* 25 * These define the root filesystem and device. 26 */ 27 struct mount *rootfs; 28 struct vnode *rootdir; 29 30 /* 31 * Set up the filesystem operations for vnodes. 32 * The types are defined in mount.h. 33 */ 34 #ifdef FFS 35 extern struct vfsops ufs_vfsops; 36 #define UFS_VFSOPS &ufs_vfsops 37 #else 38 #define UFS_VFSOPS NULL 39 #endif 40 41 #ifdef LFS 42 extern struct vfsops lfs_vfsops; 43 #define LFS_VFSOPS &lfs_vfsops 44 #else 45 #define LFS_VFSOPS NULL 46 #endif 47 48 #ifdef MFS 49 extern struct vfsops mfs_vfsops; 50 #define MFS_VFSOPS &mfs_vfsops 51 #else 52 #define MFS_VFSOPS NULL 53 #endif 54 55 #ifdef NFS 56 extern struct vfsops nfs_vfsops; 57 #define NFS_VFSOPS &nfs_vfsops 58 #else 59 #define NFS_VFSOPS NULL 60 #endif 61 62 struct vfsops *vfssw[] = { 63 NULL, /* 0 = MOUNT_NONE */ 64 UFS_VFSOPS, /* 1 = MOUNT_UFS */ 65 NFS_VFSOPS, /* 2 = MOUNT_NFS */ 66 MFS_VFSOPS, /* 3 = MOUNT_MFS */ 67 NULL, /* 4 = MOUNT_PC */ 68 LFS_VFSOPS, /* 5 = MOUNT_LFS */ 69 }; 70