Lines Matching defs:fs_volume

53 typedef struct fs_volume fs_volume;
59 struct fs_volume {
65 fs_volume* sub_volume;
66 fs_volume* super_volume;
77 status_t (*unmount)(fs_volume* volume);
79 status_t (*read_fs_info)(fs_volume* volume, struct fs_info* info);
80 status_t (*write_fs_info)(fs_volume* volume, const struct fs_info* info,
82 status_t (*sync)(fs_volume* volume);
84 status_t (*get_vnode)(fs_volume* volume, ino_t id, fs_vnode* vnode,
88 status_t (*open_index_dir)(fs_volume* volume, void** _cookie);
89 status_t (*close_index_dir)(fs_volume* volume, void* cookie);
90 status_t (*free_index_dir_cookie)(fs_volume* volume, void* cookie);
91 status_t (*read_index_dir)(fs_volume* volume, void* cookie,
93 status_t (*rewind_index_dir)(fs_volume* volume, void* cookie);
95 status_t (*create_index)(fs_volume* volume, const char* name, uint32 type,
97 status_t (*remove_index)(fs_volume* volume, const char* name);
98 status_t (*read_index_stat)(fs_volume* volume, const char* name,
102 status_t (*open_query)(fs_volume* volume, const char* query, uint32 flags,
104 status_t (*close_query)(fs_volume* volume, void* cookie);
105 status_t (*free_query_cookie)(fs_volume* volume, void* cookie);
106 status_t (*read_query)(fs_volume* volume, void* cookie,
108 status_t (*rewind_query)(fs_volume* volume, void* cookie);
111 status_t (*all_layers_mounted)(fs_volume* volume);
112 status_t (*create_sub_vnode)(fs_volume* volume, ino_t id, fs_vnode* vnode);
113 status_t (*delete_sub_vnode)(fs_volume* volume, fs_vnode* vnode);
118 status_t (*lookup)(fs_volume* volume, fs_vnode* dir, const char* name,
120 status_t (*get_vnode_name)(fs_volume* volume, fs_vnode* vnode, char* buffer,
123 status_t (*put_vnode)(fs_volume* volume, fs_vnode* vnode, bool reenter);
124 status_t (*remove_vnode)(fs_volume* volume, fs_vnode* vnode, bool reenter);
127 bool (*can_page)(fs_volume* volume, fs_vnode* vnode, void* cookie);
128 status_t (*read_pages)(fs_volume* volume, fs_vnode* vnode, void* cookie,
130 status_t (*write_pages)(fs_volume* volume, fs_vnode* vnode,
135 status_t (*io)(fs_volume* volume, fs_vnode* vnode, void* cookie,
137 status_t (*cancel_io)(fs_volume* volume, fs_vnode* vnode, void* cookie,
141 status_t (*get_file_map)(fs_volume* volume, fs_vnode* vnode, off_t offset,
145 status_t (*ioctl)(fs_volume* volume, fs_vnode* vnode, void* cookie,
147 status_t (*set_flags)(fs_volume* volume, fs_vnode* vnode, void* cookie,
149 status_t (*select)(fs_volume* volume, fs_vnode* vnode, void* cookie,
151 status_t (*deselect)(fs_volume* volume, fs_vnode* vnode, void* cookie,
153 status_t (*fsync)(fs_volume* volume, fs_vnode* vnode);
155 status_t (*read_symlink)(fs_volume* volume, fs_vnode* link, char* buffer,
157 status_t (*create_symlink)(fs_volume* volume, fs_vnode* dir,
160 status_t (*link)(fs_volume* volume, fs_vnode* dir, const char* name,
162 status_t (*unlink)(fs_volume* volume, fs_vnode* dir, const char* name);
163 status_t (*rename)(fs_volume* volume, fs_vnode* fromDir,
166 status_t (*access)(fs_volume* volume, fs_vnode* vnode, int mode);
167 status_t (*read_stat)(fs_volume* volume, fs_vnode* vnode,
169 status_t (*write_stat)(fs_volume* volume, fs_vnode* vnode,
171 status_t (*preallocate)(fs_volume* volume, fs_vnode* vnode,
175 status_t (*create)(fs_volume* volume, fs_vnode* dir, const char* name,
178 status_t (*open)(fs_volume* volume, fs_vnode* vnode, int openMode,
180 status_t (*close)(fs_volume* volume, fs_vnode* vnode, void* cookie);
181 status_t (*free_cookie)(fs_volume* volume, fs_vnode* vnode,
183 status_t (*read)(fs_volume* volume, fs_vnode* vnode, void* cookie,
185 status_t (*write)(fs_volume* volume, fs_vnode* vnode, void* cookie,
189 status_t (*create_dir)(fs_volume* volume, fs_vnode* parent,
191 status_t (*remove_dir)(fs_volume* volume, fs_vnode* parent,
193 status_t (*open_dir)(fs_volume* volume, fs_vnode* vnode,
195 status_t (*close_dir)(fs_volume* volume, fs_vnode* vnode, void* cookie);
196 status_t (*free_dir_cookie)(fs_volume* volume, fs_vnode* vnode,
198 status_t (*read_dir)(fs_volume* volume, fs_vnode* vnode, void* cookie,
200 status_t (*rewind_dir)(fs_volume* volume, fs_vnode* vnode,
204 status_t (*open_attr_dir)(fs_volume* volume, fs_vnode* vnode,
206 status_t (*close_attr_dir)(fs_volume* volume, fs_vnode* vnode,
208 status_t (*free_attr_dir_cookie)(fs_volume* volume, fs_vnode* vnode,
210 status_t (*read_attr_dir)(fs_volume* volume, fs_vnode* vnode,
213 status_t (*rewind_attr_dir)(fs_volume* volume, fs_vnode* vnode,
217 status_t (*create_attr)(fs_volume* volume, fs_vnode* vnode,
220 status_t (*open_attr)(fs_volume* volume, fs_vnode* vnode, const char* name,
222 status_t (*close_attr)(fs_volume* volume, fs_vnode* vnode,
224 status_t (*free_attr_cookie)(fs_volume* volume, fs_vnode* vnode,
226 status_t (*read_attr)(fs_volume* volume, fs_vnode* vnode, void* cookie,
228 status_t (*write_attr)(fs_volume* volume, fs_vnode* vnode, void* cookie,
231 status_t (*read_attr_stat)(fs_volume* volume, fs_vnode* vnode,
233 status_t (*write_attr_stat)(fs_volume* volume, fs_vnode* vnode,
235 status_t (*rename_attr)(fs_volume* volume, fs_vnode* fromVnode,
237 status_t (*remove_attr)(fs_volume* volume, fs_vnode* vnode,
241 status_t (*create_special_node)(fs_volume* volume, fs_vnode* dir,
244 status_t (*get_super_vnode)(fs_volume* volume, fs_vnode* vnode,
245 fs_volume* superVolume, fs_vnode* superVnode);
248 status_t (*test_lock)(fs_volume* volume, fs_vnode* vnode, void* cookie,
250 status_t (*acquire_lock)(fs_volume* volume, fs_vnode* vnode, void* cookie,
252 status_t (*release_lock)(fs_volume* volume, fs_vnode* vnode, void* cookie,
272 status_t (*mount)(fs_volume* volume, const char* device, uint32 flags,
320 extern status_t new_vnode(fs_volume* volume, ino_t vnodeID, void* privateNode,
322 extern status_t publish_vnode(fs_volume* volume, ino_t vnodeID,
325 extern status_t get_vnode(fs_volume* volume, ino_t vnodeID,
327 extern status_t put_vnode(fs_volume* volume, ino_t vnodeID);
328 extern status_t acquire_vnode(fs_volume* volume, ino_t vnodeID);
329 extern status_t remove_vnode(fs_volume* volume, ino_t vnodeID);
330 extern status_t unremove_vnode(fs_volume* volume, ino_t vnodeID);
331 extern status_t get_vnode_removed(fs_volume* volume, ino_t vnodeID,
333 extern fs_volume* volume_for_vnode(fs_vnode* vnode);