Changes in uspace/lib/fs/libfs.h [79ae36dd:b33870b] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/fs/libfs.h

    r79ae36dd rb33870b  
    4040#include <stdint.h>
    4141#include <async.h>
    42 #include <devmap.h>
     42#include <loc.h>
     43
     44typedef 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;
    4356
    4457typedef struct {
     
    4659        async_sess_t *sess;
    4760        fs_handle_t fs_handle;
    48         devmap_handle_t devmap_handle;
     61        service_id_t service_id;
    4962} mp_data_t;
    5063
     
    6073         * argument holds the output argument.
    6174         */
    62         int (* root_get)(fs_node_t **, devmap_handle_t);
     75        int (* root_get)(fs_node_t **, service_id_t);
    6376        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);
    6578        int (* node_open)(fs_node_t *);
    6679        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);
    6881        int (* destroy)(fs_node_t *);
    6982        int (* link)(fs_node_t *, fs_node_t *, const char *);
     
    7184        int (* has_children)(bool *, fs_node_t *);
    7285        /*
    73          * The second set of methods are usually mere getters that do not return
    74          * an integer error code.
     86         * The second set of methods are usually mere getters that do not
     87         * return an integer error code.
    7588         */
    7689        fs_index_t (* index_get)(fs_node_t *);
    7790        aoff64_t (* size_get)(fs_node_t *);
    7891        unsigned int (* lnkcnt_get)(fs_node_t *);
    79         char (* plb_get_char)(unsigned pos);
    8092        bool (* is_directory)(fs_node_t *);
    8193        bool (* is_file)(fs_node_t *);
    82         devmap_handle_t (* device_get)(fs_node_t *);
     94        service_id_t (* service_get)(fs_node_t *);
    8395} libfs_ops_t;
    8496
     
    88100} fs_reg_t;
    89101
    90 extern int fs_register(async_sess_t *, fs_reg_t *, vfs_info_t *,
    91     async_client_conn_t);
     102extern int fs_register(async_sess_t *, vfs_info_t *, vfs_out_ops_t *,
     103    libfs_ops_t *);
    92104
    93105extern 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 *);
    101106
    102107#endif
Note: See TracChangeset for help on using the changeset viewer.