diff options
Diffstat (limited to 'xxx')
| -rw-r--r-- | xxx/file.c | 4 | ||||
| -rw-r--r-- | xxx/file.h | 26 | ||||
| -rw-r--r-- | xxx/mount.c | 12 | ||||
| -rw-r--r-- | xxx/mount.h | 23 |
4 files changed, 65 insertions, 0 deletions
diff --git a/xxx/file.c b/xxx/file.c new file mode 100644 index 0000000..185c3a9 --- /dev/null +++ b/xxx/file.c @@ -0,0 +1,4 @@ +#include "file.h" + + + diff --git a/xxx/file.h b/xxx/file.h new file mode 100644 index 0000000..53c96d8 --- /dev/null +++ b/xxx/file.h @@ -0,0 +1,26 @@ +#ifndef FILE_H +#define FILE_H + +#include <stdint.h> + +#define FILE_MAX_FILES 100; + +typedef struct +{ + int(* seek)(int offset, int whence); + + int(* read)(char *buf, int len); + int(* wrtie)(char *buf, int len); + + int(* close)(); + int(* stat)(void *buf); + + void *data; //opaque + +}file; + + + + + +#endif diff --git a/xxx/mount.c b/xxx/mount.c new file mode 100644 index 0000000..cb741f9 --- /dev/null +++ b/xxx/mount.c @@ -0,0 +1,12 @@ +#include "mount.h" + +void mount_add(char *path, void *data, + file (*open) (struct mount_struct*,char *path), + int (*getdents)(struct mount_struct*, uint32_t file_desciptor, fs_dirent *entries, uint32_t max_count)) +{ +} + +mount *mounts_get() +{ + return 0; +} diff --git a/xxx/mount.h b/xxx/mount.h new file mode 100644 index 0000000..a327e2e --- /dev/null +++ b/xxx/mount.h @@ -0,0 +1,23 @@ +#ifndef MOUNT_H +#define MOUNT_H + +#define MOUNT_MAX_MOUNTS 10 + +#include <stdint.h> +#include "file.h" +#include "interface/fs.h" + +typedef struct mount_struct +{ + char path[256]; // where are we mounted + int (*getdents) (struct mount_struct*, uint32_t file_desciptor, fs_dirent *entries, uint32_t max_count); + file (*open) (struct mount_struct*,char *path); + void *data; //opaque + +}mount; + +mount *mounts_get(); +void mount_add(char *path, void *data,file (*open)(struct mount_struct*,char *path),int (*getdents)(struct mount_struct*, uint32_t file_desciptor, fs_dirent *entries, uint32_t max_count)); + +// +#endif |
