xref: /minix/minix/servers/vfs/vmnt.h (revision 83133719)
1 #ifndef __VFS_VMNT_H__
2 #define __VFS_VMNT_H__
3 
4 #include "tll.h"
5 #include "type.h"
6 
7 EXTERN struct vmnt {
8   int m_fs_e;			/* FS process' kernel endpoint */
9   tll_t m_lock;
10   comm_t m_comm;
11   dev_t m_dev;			/* device number */
12   unsigned int m_flags;		/* mount flags */
13   unsigned int m_fs_flags;	/* capability flags returned by FS */
14   struct vnode *m_mounted_on;	/* vnode on which the partition is mounted */
15   struct vnode *m_root_node;	/* root vnode */
16   char m_label[LABEL_MAX];	/* label of the file system process */
17   char m_mount_path[PATH_MAX];	/* path on which vmnt is mounted */
18   char m_mount_dev[PATH_MAX];	/* device from which vmnt is mounted */
19   char m_fstype[FSTYPE_MAX];	/* file system type */
20   struct statvfs_cache m_stats;	/* cached file system statistics */
21 } vmnt[NR_MNTS];
22 
23 /* vmnt flags */
24 #define VMNT_READONLY		01	/* Device mounted readonly */
25 #define VMNT_CALLBACK		02	/* FS did back call */
26 #define VMNT_MOUNTING		04	/* Device is being mounted */
27 #define VMNT_FORCEROOTBSF	010	/* Force usage of none-device */
28 #define VMNT_CANSTAT		020	/* Include FS in getvfsstat output */
29 
30 /* vmnt lock types mapping */
31 #define VMNT_READ TLL_READ
32 #define VMNT_WRITE TLL_READSER
33 #define VMNT_EXCL TLL_WRITE
34 
35 #endif
36