Changes in uspace/lib/fs/libfs.h [79ae36dd:b33870b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/fs/libfs.h
r79ae36dd rb33870b 40 40 #include <stdint.h> 41 41 #include <async.h> 42 #include <devmap.h> 42 #include <loc.h> 43 44 typedef struct { 45 int (* mounted)(service_id_t, const char *, fs_index_t *, aoff64_t *, 46 unsigned *); 47 int (* unmounted)(service_id_t); 48 int (* read)(service_id_t, fs_index_t, aoff64_t, size_t *); 49 int (* write)(service_id_t, fs_index_t, aoff64_t, size_t *, 50 aoff64_t *); 51 int (* truncate)(service_id_t, fs_index_t, aoff64_t); 52 int (* close)(service_id_t, fs_index_t); 53 int (* destroy)(service_id_t, fs_index_t); 54 int (* sync)(service_id_t, fs_index_t); 55 } vfs_out_ops_t; 43 56 44 57 typedef struct { … … 46 59 async_sess_t *sess; 47 60 fs_handle_t fs_handle; 48 devmap_handle_t devmap_handle;61 service_id_t service_id; 49 62 } mp_data_t; 50 63 … … 60 73 * argument holds the output argument. 61 74 */ 62 int (* root_get)(fs_node_t **, devmap_handle_t);75 int (* root_get)(fs_node_t **, service_id_t); 63 76 int (* match)(fs_node_t **, fs_node_t *, const char *); 64 int (* node_get)(fs_node_t **, devmap_handle_t, fs_index_t);77 int (* node_get)(fs_node_t **, service_id_t, fs_index_t); 65 78 int (* node_open)(fs_node_t *); 66 79 int (* node_put)(fs_node_t *); 67 int (* create)(fs_node_t **, devmap_handle_t, int);80 int (* create)(fs_node_t **, service_id_t, int); 68 81 int (* destroy)(fs_node_t *); 69 82 int (* link)(fs_node_t *, fs_node_t *, const char *); … … 71 84 int (* has_children)(bool *, fs_node_t *); 72 85 /* 73 * The second set of methods are usually mere getters that do not return74 * an integer error code.86 * The second set of methods are usually mere getters that do not 87 * return an integer error code. 75 88 */ 76 89 fs_index_t (* index_get)(fs_node_t *); 77 90 aoff64_t (* size_get)(fs_node_t *); 78 91 unsigned int (* lnkcnt_get)(fs_node_t *); 79 char (* plb_get_char)(unsigned pos);80 92 bool (* is_directory)(fs_node_t *); 81 93 bool (* is_file)(fs_node_t *); 82 devmap_handle_t (* device_get)(fs_node_t *);94 service_id_t (* service_get)(fs_node_t *); 83 95 } libfs_ops_t; 84 96 … … 88 100 } fs_reg_t; 89 101 90 extern int fs_register(async_sess_t *, fs_reg_t *, vfs_info_t *,91 async_client_conn_t);102 extern int fs_register(async_sess_t *, vfs_info_t *, vfs_out_ops_t *, 103 libfs_ops_t *); 92 104 93 105 extern void fs_node_initialize(fs_node_t *); 94 95 extern void libfs_mount(libfs_ops_t *, fs_handle_t, ipc_callid_t, ipc_call_t *);96 extern void libfs_unmount(libfs_ops_t *, ipc_callid_t, ipc_call_t *);97 extern void libfs_lookup(libfs_ops_t *, fs_handle_t, ipc_callid_t, ipc_call_t *);98 extern void libfs_stat(libfs_ops_t *, fs_handle_t, ipc_callid_t, ipc_call_t *);99 extern void libfs_open_node(libfs_ops_t *, fs_handle_t, ipc_callid_t,100 ipc_call_t *);101 106 102 107 #endif
Note:
See TracChangeset
for help on using the changeset viewer.