aboutsummaryrefslogtreecommitdiff
path: root/kernel/ctrl.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/ctrl.c')
-rw-r--r--kernel/ctrl.c29
1 files changed, 21 insertions, 8 deletions
diff --git a/kernel/ctrl.c b/kernel/ctrl.c
index 1f802db..3d26f07 100644
--- a/kernel/ctrl.c
+++ b/kernel/ctrl.c
@@ -24,15 +24,28 @@
void
ctrl(void *arg)
{
- struct ctrlarg *a = arg;
+ int c;
for (;;) {
- sprintf(a->lcd->first, "%8lx", now());
- sprintf(a->lcd->second, "%4d:%.2d:%.2d:%.2d",
- a->clock->d,
- a->clock->h,
- a->clock->m,
- a->clock->s);
- sleep(MSEC(500));
+ c = fgetc(stdin);
+
+ switch (c) {
+ case '-':
+ reboot();
+ break;
+ case 'n':
+ fprintf(stdout, "\r%ld\n", now());
+ break;
+ case 'r':
+ fprintf(stdout, "\r%d\n", rqlen());
+ break;
+ case 't':
+ fprintf(stdout, "\r%d\n", running());
+ break;
+ default:
+ break;
+ }
+
+ yield();
}
}