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


Ignore:
File:
1 edited

Legend:

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

    rb33870b r79ae36dd  
    4040#include <stdint.h>
    4141#include <async.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;
     42#include <devmap.h>
    5643
    5744typedef struct {
     
    5946        async_sess_t *sess;
    6047        fs_handle_t fs_handle;
    61         service_id_t service_id;
     48        devmap_handle_t devmap_handle;
    6249} mp_data_t;
    6350
     
    7360         * argument holds the output argument.
    7461         */
    75         int (* root_get)(fs_node_t **, service_id_t);
     62        int (* root_get)(fs_node_t **, devmap_handle_t);
    7663        int (* match)(fs_node_t **, fs_node_t *, const char *);
    77         int (* node_get)(fs_node_t **, service_id_t, fs_index_t);
     64        int (* node_get)(fs_node_t **, devmap_handle_t, fs_index_t);
    7865        int (* node_open)(fs_node_t *);
    7966        int (* node_put)(fs_node_t *);
    80         int (* create)(fs_node_t **, service_id_t, int);
     67        int (* create)(fs_node_t **, devmap_handle_t, int);
    8168        int (* destroy)(fs_node_t *);
    8269        int (* link)(fs_node_t *, fs_node_t *, const char *);
     
    8471        int (* has_children)(bool *, fs_node_t *);
    8572        /*
    86          * The second set of methods are usually mere getters that do not
    87          * return an integer error code.
     73         * The second set of methods are usually mere getters that do not return
     74         * an integer error code.
    8875         */
    8976        fs_index_t (* index_get)(fs_node_t *);
    9077        aoff64_t (* size_get)(fs_node_t *);
    9178        unsigned int (* lnkcnt_get)(fs_node_t *);
     79        char (* plb_get_char)(unsigned pos);
    9280        bool (* is_directory)(fs_node_t *);
    9381        bool (* is_file)(fs_node_t *);
    94         service_id_t (* service_get)(fs_node_t *);
     82        devmap_handle_t (* device_get)(fs_node_t *);
    9583} libfs_ops_t;
    9684
     
    10088} fs_reg_t;
    10189
    102 extern int fs_register(async_sess_t *, vfs_info_t *, vfs_out_ops_t *,
    103     libfs_ops_t *);
     90extern int fs_register(async_sess_t *, fs_reg_t *, vfs_info_t *,
     91    async_client_conn_t);
    10492
    10593extern void fs_node_initialize(fs_node_t *);
     94
     95extern void libfs_mount(libfs_ops_t *, fs_handle_t, ipc_callid_t, ipc_call_t *);
     96extern void libfs_unmount(libfs_ops_t *, ipc_callid_t, ipc_call_t *);
     97extern void libfs_lookup(libfs_ops_t *, fs_handle_t, ipc_callid_t, ipc_call_t *);
     98extern void libfs_stat(libfs_ops_t *, fs_handle_t, ipc_callid_t, ipc_call_t *);
     99extern void libfs_open_node(libfs_ops_t *, fs_handle_t, ipc_callid_t,
     100    ipc_call_t *);
    106101
    107102#endif
Note: See TracChangeset for help on using the changeset viewer.