Ignore:
File:
1 edited

Legend:

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

    r75160a6 r1313ee9  
    5656
    5757typedef struct {
    58         fs_node_t * (* match)(fs_node_t *, const char *);
    59         fs_node_t * (* node_get)(dev_handle_t, fs_index_t);
    60         void (* node_put)(fs_node_t *);
    61         fs_node_t * (* create)(dev_handle_t, int);
     58        /*
     59         * The first set of methods are functions that return an integer error
     60         * code. If some additional return value is to be returned, the first
     61         * argument holds the output argument.
     62         */
     63        int (* root_get)(fs_node_t **, dev_handle_t);
     64        int (* match)(fs_node_t **, fs_node_t *, const char *);
     65        int (* node_get)(fs_node_t **, dev_handle_t, fs_index_t);
     66        int (* node_open)(fs_node_t *);
     67        int (* node_put)(fs_node_t *);
     68        int (* create)(fs_node_t **, dev_handle_t, int);
    6269        int (* destroy)(fs_node_t *);
    6370        int (* link)(fs_node_t *, fs_node_t *, const char *);
    6471        int (* unlink)(fs_node_t *, fs_node_t *, const char *);
     72        int (* has_children)(bool *, fs_node_t *);
     73        /*
     74         * The second set of methods are usually mere getters that do not return
     75         * an integer error code.
     76         */
    6577        fs_index_t (* index_get)(fs_node_t *);
    6678        size_t (* size_get)(fs_node_t *);
    67         unsigned (* lnkcnt_get)(fs_node_t *);
    68         bool (* has_children)(fs_node_t *);
    69         fs_node_t *(* root_get)(dev_handle_t);
     79        unsigned int (* lnkcnt_get)(fs_node_t *);
    7080        char (* plb_get_char)(unsigned pos);
    7181        bool (* is_directory)(fs_node_t *);
    7282        bool (* is_file)(fs_node_t *);
     83        dev_handle_t (* device_get)(fs_node_t *);
    7384} libfs_ops_t;
    7485
Note: See TracChangeset for help on using the changeset viewer.