diff options
Diffstat (limited to 'kernel/fd.c')
| -rw-r--r-- | kernel/fd.c | 32 |
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; +} |
