Lines Matching refs:vnode

42 #define VNODE_FLAG_MOUNT_NEW      (1 << 0) /* new mount vnode */
43 #define VNODE_FLAG_MOUNT_ORIGIN (1 << 1) /* origin vnode */
80 /* This structure is used for record vnode attr. */
114 enum VnodeType type; /* vnode type */
116 uint32_t hash; /* vnode hash */
122 struct Vnode *parent; /* parent vnode */
123 struct VnodeOps *vop; /* vnode operations */
126 uint32_t flag; /* vnode flag */
128 LIST_ENTRY actFreeEntry; /* vnode active/free list entry */
129 struct Mount *originMount; /* fs info about this vnode */
130 struct Mount *newMount; /* fs info about who mount on this vnode */
131 char *filePath; /* file path of the vnode */
132 struct page_mapping mapping; /* page mapping of the vnode */
139 int (*Create)(struct Vnode *parent, const char *name, int mode, struct Vnode **vnode);
140 int (*Lookup)(struct Vnode *parent, const char *name, int len, struct Vnode **vnode);
141 int (*Open)(struct Vnode *vnode, int fd, int mode, int flags);
142 ssize_t (*ReadPage)(struct Vnode *vnode, char *buffer, off_t pos);
143 ssize_t (*WritePage)(struct Vnode *vnode, char *buffer, off_t pos, size_t buflen);
144 int (*Close)(struct Vnode *vnode);
145 int (*Reclaim)(struct Vnode *vnode);
146 int (*Unlink)(struct Vnode *parent, struct Vnode *vnode, const char *fileName);
147 int (*Rmdir)(struct Vnode *parent, struct Vnode *vnode, const char *dirName);
148 int (*Mkdir)(struct Vnode *parent, const char *dirName, mode_t mode, struct Vnode **vnode);
149 int (*Readdir)(struct Vnode *vnode, struct fs_dirent_s *dir);
150 int (*Opendir)(struct Vnode *vnode, struct fs_dirent_s *dir);
151 int (*Rewinddir)(struct Vnode *vnode, struct fs_dirent_s *dir);
152 int (*Closedir)(struct Vnode *vnode, struct fs_dirent_s *dir);
153 int (*Getattr)(struct Vnode *vnode, struct stat *st);
154 int (*Setattr)(struct Vnode *vnode, struct stat *st);
155 int (*Chattr)(struct Vnode *vnode, struct IATTR *attr);
157 int (*Truncate)(struct Vnode *vnode, off_t len);
158 int (*Truncate64)(struct Vnode *vnode, off64_t len);
159 int (*Fscheck)(struct Vnode *vnode, struct fs_dirent_s *dir);
162 ssize_t (*Readlink)(struct Vnode *vnode, char *buffer, size_t bufLen);
165 typedef int VfsHashCmp(struct Vnode *vnode, void *arg);
170 int VnodeFree(struct Vnode *vnode);
171 int VnodeLookup(const char *path, struct Vnode **vnode, uint32_t flags);
172 int VnodeLookupFullpath(const char *fullpath, struct Vnode **vnode, uint32_t flags);
173 int VnodeLookupAt(const char *path, struct Vnode **vnode, uint32_t flags, struct Vnode *orgVnode);
176 void VnodeRefDec(struct Vnode *vnode);
179 uint32_t VfsHashIndex(struct Vnode *vnode);
180 int VfsHashGet(const struct Mount *mount, uint32_t hash, struct Vnode **vnode, VfsHashCmp *fun, void *arg);
181 void VfsHashRemove(struct Vnode *vnode);
182 int VfsHashInsert(struct Vnode *vnode, uint32_t hash);