summaryrefslogtreecommitdiff
path: root/xxx
diff options
context:
space:
mode:
Diffstat (limited to 'xxx')
-rw-r--r--xxx/file.c4
-rw-r--r--xxx/file.h26
-rw-r--r--xxx/mount.c12
-rw-r--r--xxx/mount.h23
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