summaryrefslogtreecommitdiff
path: root/kernel/fd.c
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-08-17 21:41:21 +0200
committerMiguel <m.i@gmx.at>2018-08-17 21:41:21 +0200
commitc15925a24efe14f437d8a2699500241a58fdc8f9 (patch)
treec0db3a7d2a4f857324735df35e9cc1f0539c5f24 /kernel/fd.c
parent6fd78c2ff950310d8372ec0353553cc4a5a43e72 (diff)
cleanup and working on fifo pipes
Diffstat (limited to 'kernel/fd.c')
-rw-r--r--kernel/fd.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/kernel/fd.c b/kernel/fd.c
new file mode 100644
index 0000000..5eb2678
--- /dev/null
+++ b/kernel/fd.c
@@ -0,0 +1,32 @@
+#include "fd.h"
+
+bool fd_write(fd* f,uint8_t c)
+{
+ return f->write(f->data,c);
+}
+
+uint8_t fd_read(fd* f)
+{
+ return f->read(f->data);
+}
+
+bool fd_has(fd* f)
+{
+ return f->has(f->data);
+}
+
+bool fd_close(fd* f)
+{
+ return f->close(f->data);
+}
+
+fd fd_from_fifo(fifo* fif)
+{
+ fd f;
+ f.data=fif;
+ f.read=fd_read;
+ f.write=fd_write;
+ f.close=fd_close;
+ f.has=fd_has;
+ return f;
+}