Rev 3675 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3675 | Rev 4377 | ||
|---|---|---|---|
| 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 | void *data; /**< Data of the file system implementation. */ |
|
| - | 46 | } fs_node_t; |
|
| - | 47 | ||
| - | 48 | typedef struct { |
|
| 45 | void * (* match)(void *, const char *); |
49 | fs_node_t * (* match)(fs_node_t *, const char *); |
| 46 | void * (* node_get)(dev_handle_t, fs_index_t); |
50 | fs_node_t * (* node_get)(dev_handle_t, fs_index_t); |
| 47 | void (* node_put)(void *); |
51 | void (* node_put)(fs_node_t *); |
| 48 | void * (* create)(dev_handle_t, int); |
52 | fs_node_t * (* create)(dev_handle_t, int); |
| 49 | int (* destroy)(void *); |
53 | int (* destroy)(fs_node_t *); |
| 50 | int (* link)(void *, void *, const char *); |
54 | int (* link)(fs_node_t *, fs_node_t *, const char *); |
| 51 | int (* unlink)(void *, void *); |
55 | int (* unlink)(fs_node_t *, fs_node_t *, const char *); |
| 52 | fs_index_t (* index_get)(void *); |
56 | fs_index_t (* index_get)(fs_node_t *); |
| 53 | size_t (* size_get)(void *); |
57 | size_t (* size_get)(fs_node_t *); |
| 54 | unsigned (* lnkcnt_get)(void *); |
58 | unsigned (* lnkcnt_get)(fs_node_t *); |
| 55 | bool (* has_children)(void *); |
59 | bool (* has_children)(fs_node_t *); |
| 56 | void *(* root_get)(dev_handle_t); |
60 | fs_node_t *(* root_get)(dev_handle_t); |
| 57 | char (* plb_get_char)(unsigned pos); |
61 | char (* plb_get_char)(unsigned pos); |
| 58 | bool (* is_directory)(void *); |
62 | bool (* is_directory)(fs_node_t *); |
| 59 | bool (* is_file)(void *); |
63 | bool (* is_file)(fs_node_t *); |
| 60 | } libfs_ops_t; |
64 | } libfs_ops_t; |
| 61 | 65 | ||
| 62 | typedef struct { |
66 | typedef struct { |
| 63 | int fs_handle; /**< File system handle. */ |
67 | int fs_handle; /**< File system handle. */ |
| 64 | ipcarg_t vfs_phonehash; /**< Initial VFS phonehash. */ |
68 | ipcarg_t vfs_phonehash; /**< Initial VFS phonehash. */ |