summaryrefslogtreecommitdiff
path: root/kernel/fs/fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/fs/fs.c')
-rw-r--r--kernel/fs/fs.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/kernel/fs/fs.c b/kernel/fs/fs.c
new file mode 100644
index 0000000..792668e
--- /dev/null
+++ b/kernel/fs/fs.c
@@ -0,0 +1,28 @@
+#include <kernel/con.h>
+#include <kernel/fs.h>
+#include <kernel/hd.h>
+#include <kernel/kernel.h>
+#include <kernel/sched.h>
+#include <kernel/tty.h>
+#include <string.h>
+#include <sys/types.h>
+
+/* master file table */
+static struct file ftable[NRFILE];
+
+ssize_t sys_read(void *buf, size_t len) {
+ return tty_read(ctask->ctty, buf, len);
+}
+
+ssize_t sys_write(void *buf, size_t len) {
+ return tty_write(ctask->ctty, buf, len);
+}
+
+void fs_init(void) {
+ memset(&sblocks, 0, sizeof(sblocks));
+ memset(&ftable, 0, sizeof(ftable));
+
+ hd_init();
+
+ mount_root();
+}