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