1 #ifndef __VFS_VNODE_H__
2 #define __VFS_VNODE_H__
5 endpoint_t v_fs_e
; /* FS process' endpoint number */
6 endpoint_t v_mapfs_e
; /* mapped FS process' endpoint number */
7 ino_t v_inode_nr
; /* inode number on its (minor) device */
8 ino_t v_mapinode_nr
; /* mapped inode number of mapped FS. */
9 mode_t v_mode
; /* file type, protection, etc. */
10 uid_t v_uid
; /* uid of inode. */
11 gid_t v_gid
; /* gid of inode. */
12 off_t v_size
; /* current file size in bytes */
13 int v_ref_count
; /* # times vnode used; 0 means slot is free */
14 int v_fs_count
; /* # reference at the underlying FS */
15 int v_mapfs_count
; /* # reference at the underlying mapped FS */
16 endpoint_t v_bfs_e
; /* endpoint number for the FS proces in case
17 of a block special file */
18 dev_t v_dev
; /* device number on which the corresponding
20 dev_t v_sdev
; /* device number for special files */
21 struct vmnt
*v_vmnt
; /* vmnt object of the partition */
22 tll_t v_lock
; /* three-level-lock */
25 /* vnode lock types mapping */
26 #define VNODE_NONE TLL_NONE /* used only for get_filp2 to avoid locking */
27 #define VNODE_READ TLL_READ
28 #define VNODE_OPCL TLL_READSER
29 #define VNODE_WRITE TLL_WRITE