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 | /** @} |