Changes in uspace/srv/vfs/vfs.h [5bcd5b7:c1f7a315] in mainline
- File:
-
- 1 edited
-
uspace/srv/vfs/vfs.h (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/vfs/vfs.h
r5bcd5b7 rc1f7a315 94 94 vfs_node_type_t type; 95 95 aoff64_t size; 96 unsigned int lnkcnt; 96 97 } vfs_lookup_res_t; 97 98 … … 100 101 * which may be associated with it. 101 102 */ 102 typedef struct _vfs_node{103 typedef struct { 103 104 VFS_TRIPLET; /**< Identity of the node. */ 104 105 … … 109 110 unsigned refcnt; 110 111 112 /** Number of names this node has in the file system namespace. */ 113 unsigned lnkcnt; 114 111 115 ht_link_t nh_link; /**< Node hash-table link. */ 112 116 113 117 vfs_node_type_t type; /**< Partial info about the node type. */ 114 118 115 int64_t size; /**< Cached size if the node is a file. */119 aoff64_t size; /**< Cached size if the node is a file. */ 116 120 117 121 /** … … 119 123 */ 120 124 fibril_rwlock_t contents_rwlock; 121 122 struct _vfs_node *mount;123 125 } vfs_node_t; 124 126 … … 136 138 unsigned refcnt; 137 139 138 int permissions;139 bool open_read;140 bool open_write;141 142 140 /** Append on write. */ 143 141 bool append; … … 178 176 extern vfs_info_t *fs_handle_to_info(fs_handle_t); 179 177 180 extern int vfs_lookup_internal( vfs_node_t *, char *, int, vfs_lookup_res_t *);181 extern int vfs_link_internal(vfs_node_t *, char *, vfs_triplet_t *);178 extern int vfs_lookup_internal(char *, int, vfs_lookup_res_t *, 179 vfs_pair_t *, ...); 182 180 183 181 extern bool vfs_nodes_init(void); 184 182 extern vfs_node_t *vfs_node_get(vfs_lookup_res_t *); 185 extern vfs_node_t *vfs_node_peek(vfs_lookup_res_t *result);186 183 extern void vfs_node_put(vfs_node_t *); 187 184 extern void vfs_node_forget(vfs_node_t *); 188 185 extern unsigned vfs_nodes_refcount_sum_get(fs_handle_t, service_id_t); 189 186 190 extern int64_t vfs_node_get_size(vfs_node_t *node);191 extern bool vfs_node_has_children(vfs_node_t *node);192 187 193 188 #define MAX_OPEN_FILES 128 … … 210 205 211 206 extern void vfs_register(ipc_callid_t, ipc_call_t *); 212 extern void vfs_mount(ipc_callid_t, ipc_call_t *); 213 extern void vfs_unmount(ipc_callid_t, ipc_call_t *); 207 extern void vfs_mount_srv(ipc_callid_t, ipc_call_t *); 208 extern void vfs_unmount_srv(ipc_callid_t, ipc_call_t *); 209 extern void vfs_open(ipc_callid_t, ipc_call_t *); 214 210 extern void vfs_sync(ipc_callid_t, ipc_call_t *); 215 211 extern void vfs_dup(ipc_callid_t, ipc_call_t *); … … 220 216 extern void vfs_truncate(ipc_callid_t, ipc_call_t *); 221 217 extern void vfs_fstat(ipc_callid_t, ipc_call_t *); 218 extern void vfs_stat(ipc_callid_t, ipc_call_t *); 219 extern void vfs_mkdir(ipc_callid_t, ipc_call_t *); 220 extern void vfs_unlink(ipc_callid_t, ipc_call_t *); 222 221 extern void vfs_rename(ipc_callid_t, ipc_call_t *); 223 222 extern void vfs_wait_handle(ipc_callid_t, ipc_call_t *); 224 223 extern void vfs_get_mtab(ipc_callid_t, ipc_call_t *); 225 226 extern void vfs_walk(ipc_callid_t, ipc_call_t *); 227 extern void vfs_open2(ipc_callid_t, ipc_call_t *); 228 extern void vfs_unlink2(ipc_callid_t, ipc_call_t *); 224 extern void vfs_statfs(ipc_callid_t, ipc_call_t *); 225 226 extern void vfs_page_in(ipc_callid_t, ipc_call_t *); 227 228 typedef struct { 229 void *buffer; 230 size_t size; 231 } rdwr_io_chunk_t; 232 233 extern int vfs_rdwr_internal(int, bool, rdwr_io_chunk_t *); 229 234 230 235 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
