summaryrefslogtreecommitdiff
path: root/kernel/sys.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sys.c')
-rw-r--r--kernel/sys.c17
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;
}