📄 mount.h
字号:
#endif /* _KERNEL *//* * Flags for various system call interfaces. * * waitfor flags to vfs_sync() and getfsstat() */#define MNT_WAIT 1#define MNT_NOWAIT 2/* * Generic file handle */struct fhandle { fsid_t fh_fsid; /* File system id of mount point */ struct fid fh_fid; /* File sys specific id */};typedef struct fhandle fhandle_t;#ifdef _KERNEL#include <net/radix.h>#include <sys/socket.h> /* XXX for AF_MAX *//* * Network address lookup element */struct netcred { struct radix_node netc_rnodes[2]; int netc_exflags; struct ucred netc_anon;};/* * Network export information */struct netexport { struct netcred ne_defexported; /* Default export */ struct radix_node_head *ne_rtable[AF_MAX+1]; /* Individual exports */};#endif /* _KERNEL *//* * Export arguments for local filesystem mount calls. */struct export_args { int ex_flags; /* export related flags */ uid_t ex_root; /* mapping for root uid */ struct ucred ex_anon; /* mapping for anonymous user */ struct sockaddr *ex_addr; /* net address to which exported */ int ex_addrlen; /* and the net address length */ struct sockaddr *ex_mask; /* mask of valid bits in saddr */ int ex_masklen; /* and the smask length */};/* * Arguments to mount UFS-based filesystems */struct ufs_args { char *fspec; /* block special device to mount */ struct export_args export; /* network export information */};/* * Arguments to mount MFS */struct mfs_args { char *fspec; /* name to export for statfs */ struct export_args export; /* if exported MFSes are supported */ caddr_t base; /* base of file system in memory */ u_long size; /* size of file system */};/* * Arguments to mount ISO 9660 filesystems. */struct iso_args { char *fspec; /* block special device to mount */ struct export_args export; /* network export info */ int flags; /* mounting flags, see below */};#define ISOFSMNT_NORRIP 0x00000001 /* disable Rock Ridge Ext.*/#define ISOFSMNT_GENS 0x00000002 /* enable generation numbers */#define ISOFSMNT_EXTATT 0x00000004 /* enable extended attributes *//* * Arguments to mount NFS */#define NFS_ARGSVERSION 3 /* change when nfs_args changes */struct nfs_args { int version; /* args structure version number */ struct sockaddr *addr; /* file server address */ int addrlen; /* length of address */ int sotype; /* Socket type */ int proto; /* and Protocol */ u_char *fh; /* File handle to be mounted */ int fhsize; /* Size, in bytes, of fh */ int flags; /* flags */ int wsize; /* write size in bytes */ int rsize; /* read size in bytes */ int readdirsize; /* readdir size in bytes */ int timeo; /* initial timeout in .1 secs */ int retrans; /* times to retry send */ int maxgrouplist; /* Max. size of group list */ int readahead; /* # of blocks to readahead */ int leaseterm; /* Term (sec) of lease */ int deadthresh; /* Retrans threshold */ char *hostname; /* server's name */};/* * NFS mount option flags */#define NFSMNT_SOFT 0x00000001 /* soft mount (hard is default) */#define NFSMNT_WSIZE 0x00000002 /* set write size */#define NFSMNT_RSIZE 0x00000004 /* set read size */#define NFSMNT_TIMEO 0x00000008 /* set initial timeout */#define NFSMNT_RETRANS 0x00000010 /* set number of request retries */#define NFSMNT_MAXGRPS 0x00000020 /* set maximum grouplist size */#define NFSMNT_INT 0x00000040 /* allow interrupts on hard mount */#define NFSMNT_NOCONN 0x00000080 /* Don't Connect the socket */#define NFSMNT_NQNFS 0x00000100 /* Use Nqnfs protocol */#define NFSMNT_NFSV3 0x00000200 /* Use NFS Version 3 protocol */#define NFSMNT_KERB 0x00000400 /* Use Kerberos authentication */#define NFSMNT_DUMBTIMR 0x00000800 /* Don't estimate rtt dynamically */#define NFSMNT_LEASETERM 0x00001000 /* set lease term (nqnfs) */#define NFSMNT_READAHEAD 0x00002000 /* set read ahead */#define NFSMNT_DEADTHRESH 0x00004000 /* set dead server retry thresh */#define NFSMNT_RESVPORT 0x00008000 /* Allocate a reserved port */#define NFSMNT_RDIRPLUS 0x00010000 /* Use Readdirplus for V3 */#define NFSMNT_READDIRSIZE 0x00020000 /* Set readdir size */#define NFSMNT_INTERNAL 0xfffc0000 /* Bits set internally */#define NFSMNT_HASWRITEVERF 0x00040000 /* Has write verifier for V3 */#define NFSMNT_GOTPATHCONF 0x00080000 /* Got the V3 pathconf info */#define NFSMNT_GOTFSINFO 0x00100000 /* Got the V3 fsinfo */#define NFSMNT_MNTD 0x00200000 /* Mnt server for mnt point */#define NFSMNT_DISMINPROG 0x00400000 /* Dismount in progress */#define NFSMNT_DISMNT 0x00800000 /* Dismounted */#define NFSMNT_SNDLOCK 0x01000000 /* Send socket lock */#define NFSMNT_WANTSND 0x02000000 /* Want above */#define NFSMNT_RCVLOCK 0x04000000 /* Rcv socket lock */#define NFSMNT_WANTRCV 0x08000000 /* Want above */#define NFSMNT_WAITAUTH 0x10000000 /* Wait for authentication */#define NFSMNT_HASAUTH 0x20000000 /* Has authenticator */#define NFSMNT_WANTAUTH 0x40000000 /* Wants an authenticator */#define NFSMNT_AUTHERR 0x80000000 /* Authentication error *//* * Arguments to mount MSDOS filesystems. */struct msdosfs_args { char *fspec; /* blocks special holding the fs to mount */ struct export_args export; /* network export information */ uid_t uid; /* uid that owns msdosfs files */ gid_t gid; /* gid that owns msdosfs files */ mode_t mask; /* mask to be applied for msdosfs perms */ int flags; /* see below */};/* * Msdosfs mount options: */#define MSDOSFSMNT_SHORTNAME 1 /* Force old DOS short names only */#define MSDOSFSMNT_LONGNAME 2 /* Force Win'95 long names */#define MSDOSFSMNT_NOWIN95 4 /* Completely ignore Win95 entries */#define MSDOSFSMNT_GEMDOSFS 8 /* This is a gemdos-flavour *//* * Arguments to mount amigados filesystems. */struct adosfs_args { char *fspec; /* blocks special holding the fs to mount */ struct export_args export; /* network export information */ uid_t uid; /* uid that owns msdosfs files */ gid_t gid; /* gid that owns msdosfs files */ mode_t mask; /* mask to be applied for msdosfs perms */};#ifdef _KERNEL/* * exported vnode operations */struct mount *getvfs __P((fsid_t *)); /* return vfs given fsid */int vfs_export /* process mount export info */ __P((struct mount *, struct netexport *, struct export_args *));struct netcred *vfs_export_lookup /* lookup host in fs export list */ __P((struct mount *, struct netexport *, struct mbuf *));int vfs_lock __P((struct mount *)); /* lock a vfs */int vfs_mountedon __P((struct vnode *));/* is a vfs mounted on vp */void vfs_shutdown __P((void)); /* unmount and sync file systems */void vfs_unlock __P((struct mount *)); /* unlock a vfs */void vfs_unmountall __P((void)); /* unmount file systems */int vfs_busy __P((struct mount *));void vfs_unbusy __P((struct mount *));extern CIRCLEQ_HEAD(mntlist, mount) mountlist; /* mounted filesystem list */extern struct vfsops *vfssw[]; /* filesystem type table */extern int nvfssw;long makefstype __P((char *));int dounmount __P((struct mount *, int, struct proc *));void vfsinit __P((void));#ifdef DEBUGvoid vfs_bufstats __P((void));#endif#else /* _KERNEL */#include <sys/cdefs.h>__BEGIN_DECLSint fstatfs __P((int, struct statfs *));int getfh __P((const char *, fhandle_t *));int getfsstat __P((struct statfs *, long, int));int getmntinfo __P((struct statfs **, int));int mount __P((const char *, const char *, int, void *));int statfs __P((const char *, struct statfs *));int unmount __P((const char *, int));__END_DECLS#endif /* _KERNEL */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -