Subversion Repositories HelenOS

Rev

Rev 2787 | Rev 3425 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2787 Rev 2925
Line 40... Line 40...
40
#include <stdint.h>
40
#include <stdint.h>
41
#include <ipc/ipc.h>
41
#include <ipc/ipc.h>
42
#include <async.h>
42
#include <async.h>
43
 
43
 
44
typedef struct {
44
typedef struct {
45
    bool (* match)(void *, void *, const char *);
45
    void * (* match)(void *, const char *);
46
    void * (* node_get)(fs_handle_t, dev_handle_t, fs_index_t);
46
    void * (* node_get)(dev_handle_t, fs_index_t);
-
 
47
    void (* node_put)(void *);
47
    void * (* create)(int);
48
    void * (* create)(int);
48
    void (* destroy)(void *);
49
    int (* destroy)(void *);
49
    bool (* link)(void *, void *, const char *);
50
    bool (* link)(void *, void *, const char *);
50
    int (* unlink)(void *, void *);
51
    int (* unlink)(void *, void *);
51
    fs_index_t (* index_get)(void *);
52
    fs_index_t (* index_get)(void *);
52
    size_t (* size_get)(void *);
53
    size_t (* size_get)(void *);
53
    unsigned (* lnkcnt_get)(void *);
54
    unsigned (* lnkcnt_get)(void *);
54
    void *(* child_get)(void *);
55
    bool (* has_children)(void *);
55
    void *(* sibling_get)(void *);
-
 
56
    void *(* root_get)(void);
56
    void *(* root_get)(dev_handle_t);
57
    char (* plb_get_char)(unsigned pos);   
57
    char (* plb_get_char)(unsigned pos);   
58
    bool (* is_directory)(void *);
58
    bool (* is_directory)(void *);
59
    bool (* is_file)(void *);
59
    bool (* is_file)(void *);
60
} libfs_ops_t;
60
} libfs_ops_t;
61
 
61
 
Line 65... Line 65...
65
    uint8_t *plb_ro;    /**< Read-only PLB view. */
65
    uint8_t *plb_ro;    /**< Read-only PLB view. */
66
} fs_reg_t;
66
} fs_reg_t;
67
 
67
 
68
extern int fs_register(int, fs_reg_t *, vfs_info_t *, async_client_conn_t);
68
extern int fs_register(int, fs_reg_t *, vfs_info_t *, async_client_conn_t);
69
 
69
 
70
extern int block_read(int, unsigned long, void *);
-
 
71
extern int block_write(int, unsigned long, void *);
-
 
72
 
-
 
73
extern void node_add_mp(int, unsigned long);
-
 
74
extern void node_del_mp(int, unsigned long);
-
 
75
extern bool node_is_mp(int, unsigned long);
-
 
76
 
-
 
77
extern void libfs_lookup(libfs_ops_t *, fs_handle_t, ipc_callid_t, ipc_call_t *);
70
extern void libfs_lookup(libfs_ops_t *, fs_handle_t, ipc_callid_t, ipc_call_t *);
78
 
71
 
79
#endif
72
#endif
80
 
73
 
81
/** @}
74
/** @}