144922Smckusick /* 244922Smckusick * Copyright (c) 1989 Jan-Simon Pendry 344922Smckusick * Copyright (c) 1989 Imperial College of Science, Technology & Medicine 4*61794Sbostic * Copyright (c) 1989, 1993 5*61794Sbostic * The Regents of the University of California. All rights reserved. 644922Smckusick * 744922Smckusick * This code is derived from software contributed to Berkeley by 844922Smckusick * Jan-Simon Pendry at Imperial College, London. 944922Smckusick * 1044922Smckusick * %sccs.include.redist.c% 1144922Smckusick * 12*61794Sbostic * @(#)fstype.h 8.1 (Berkeley) 06/06/93 1349688Spendry * 1452456Spendry * $Id: fstype.h,v 5.2.2.1 1992/02/09 15:09:57 jsp beta $ 1549688Spendry * 1644922Smckusick */ 1744922Smckusick 1844922Smckusick /* 1944922Smckusick * File system types 2044922Smckusick */ 2144922Smckusick 2244922Smckusick /* 2344922Smckusick * Automount File System 2444922Smckusick */ 2544922Smckusick #define HAS_AFS 2644922Smckusick extern am_ops afs_ops; /* Automount file system (this!) */ 2747527Spendry extern am_ops toplvl_ops; /* Top-level automount file system */ 2847527Spendry extern am_ops root_ops; /* Root file system */ 2944922Smckusick extern qelem afs_srvr_list; 3044922Smckusick extern fserver *find_afs_srvr P((mntfs*)); 3144922Smckusick 3244922Smckusick /* 3344922Smckusick * Direct Automount File System 3444922Smckusick */ 3544922Smckusick #define HAS_DFS 3644922Smckusick extern am_ops dfs_ops; /* Direct Automount file system (this too) */ 3744922Smckusick 3844922Smckusick /* 3944922Smckusick * Error File System 4044922Smckusick */ 4144922Smckusick #define HAS_EFS 4244922Smckusick extern am_ops efs_ops; /* Error file system */ 4344922Smckusick 4444922Smckusick /* 4544922Smckusick * Inheritance File System 4644922Smckusick */ 4744922Smckusick #define HAS_IFS 4844922Smckusick extern am_ops ifs_ops; /* Inheritance file system */ 4944922Smckusick 5044922Smckusick /* 5144922Smckusick * Loopback File System 5244922Smckusick * LOFS is optional - you can compile without it. 5344922Smckusick */ 5444922Smckusick #ifdef OS_HAS_LOFS 5544922Smckusick /* 5644922Smckusick * Most systems can't support this, and in 5744922Smckusick * any case most of the functionality is 5844922Smckusick * available with Symlink FS. In fact, 5944922Smckusick * lofs_ops is not yet available. 6044922Smckusick */ 6144922Smckusick #define HAS_LOFS 6244922Smckusick extern am_ops lofs_ops; 6344922Smckusick #endif 6444922Smckusick 6544922Smckusick /* 6644922Smckusick * Netw*rk File System 6744922Smckusick * Good, slow, NFS. 6844922Smckusick * NFS host - a whole tree 6944922Smckusick */ 7044922Smckusick #define HAS_NFS 7144922Smckusick #define HAS_HOST 7247527Spendry #define HAS_NFSX 7344922Smckusick extern am_ops nfs_ops; /* NFS */ 7447527Spendry extern am_ops nfsx_ops; /* NFS X */ 7544922Smckusick extern am_ops host_ops; /* NFS host */ 7644922Smckusick #ifdef HOST_EXEC 7744922Smckusick extern char *host_helper; /* "/usr/local/etc/amd-host" */ 7844922Smckusick #endif 7944922Smckusick extern qelem nfs_srvr_list; 8044922Smckusick extern fserver *find_nfs_srvr P((mntfs*)); 8144922Smckusick 8244922Smckusick /* 8344922Smckusick * Program File System 8444922Smckusick * PFS is optional - you can compile without it. 8544922Smckusick * This is useful for things like RVD. 8644922Smckusick */ 8744922Smckusick #define HAS_PFS 8844922Smckusick extern am_ops pfs_ops; /* PFS */ 8944922Smckusick 9044922Smckusick /* 9144922Smckusick * Translucent File System 9244922Smckusick * TFS is optional - you can compile without it. 9344922Smckusick * This is just plain cute. 9444922Smckusick */ 9544922Smckusick #ifdef notdef 9644922Smckusick extern am_ops tfs_ops; /* TFS */ 9744922Smckusick #endif 9844922Smckusick #undef HAS_TFS 9944922Smckusick 10044922Smckusick /* 10144922Smckusick * Un*x File System 10244922Smckusick * Normal local disk file system. 10344922Smckusick */ 10444922Smckusick #define HAS_UFS 10544922Smckusick extern am_ops ufs_ops; /* Un*x file system */ 10644922Smckusick 10744922Smckusick /* 10844922Smckusick * Symbolic-link file system 10944922Smckusick * A "filesystem" which is just a symbol link. 11052456Spendry * 11152456Spendry * sfsx also checks that the target of the link exists. 11244922Smckusick */ 11344922Smckusick #define HAS_SFS 11444922Smckusick extern am_ops sfs_ops; /* Symlink FS */ 11552456Spendry #define HAS_SFSX 11652456Spendry extern am_ops sfsx_ops; /* Symlink FS with existence check */ 11747527Spendry 11847527Spendry /* 11947527Spendry * Union file system 12047527Spendry */ 12147527Spendry #define HAS_UNION_FS 12247527Spendry extern am_ops union_ops; /* Union FS */ 123