diff options
| author | Miguel <m.i@gmx.at> | 2018-09-16 11:39:36 +0200 |
|---|---|---|
| committer | Miguel <m.i@gmx.at> | 2018-09-16 11:39:36 +0200 |
| commit | 740ae2e69995df37c44fe61f57642ee642982ca2 (patch) | |
| tree | b84ec79e9243fd0fe103fab1c1acc1e91e60f53d /xxx | |
| parent | e0449c5adc89eec9f378cb40a56762bf314a80ea (diff) | |
cleanup and starting improve mounts and file access (pipes, sysfiles, ext2)
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 |
