diff options
Diffstat (limited to 'kernel/sys.c')
| -rw-r--r-- | kernel/sys.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index 986c4dd..cfe9483 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1,6 +1,7 @@ #include <errno.h> #include <kernel/con.h> #include <kernel/sched.h> +#include <kernel/serial.h> #include <signal.h> #include <stdint.h> #include <stdio.h> @@ -10,14 +11,15 @@ int sys_puts(char *s) { char buf[8]; - sprintf(buf, "[%04x] ", ctask->pid); if(ctask->ctty < 0) return EOF; + sprintf(buf, "[%04x] ", ctask->pid); + switch(ctask->ctty) { case 1: - rsputs(buf); + /* rsputs(buf); */ return rsputs(s); break; default: @@ -77,6 +79,17 @@ int sys_ctty(int ctty) { return 0; } +ssize_t sys_read(void *buf, size_t len) { + switch(ctask->ctty) { + case 1: + return rsread(buf, len); + break; + default: + return -EBADF; + break; + } +} + int sys_dummy(void) { return -ENOSYS; } |
