diff options
Diffstat (limited to 'kernel/syscalls')
-rw-r--r-- | kernel/syscalls/getcwd.c | 4 | ||||
-rw-r--r-- | kernel/syscalls/install_irq.c | 2 | ||||
-rw-r--r-- | kernel/syscalls/msleep.c | 2 | ||||
-rw-r--r-- | kernel/syscalls/queue.c | 14 |
4 files changed, 18 insertions, 4 deletions
diff --git a/kernel/syscalls/getcwd.c b/kernel/syscalls/getcwd.c index df370fb..c279428 100644 --- a/kernel/syscalls/getcwd.c +++ b/kernel/syscalls/getcwd.c @@ -4,8 +4,8 @@ char *syscall_getcwd(char *buf, size_t size) { kprintf("syscall_getcwd\n"); - const char *cwd = get_current_task()->current_working_directory; + const char *cwd = current_task->current_working_directory; size_t len = min(size, strlen(cwd)); - strlcpy(buf, get_current_task()->current_working_directory, len); + strlcpy(buf, current_task->current_working_directory, len); return buf; } diff --git a/kernel/syscalls/install_irq.c b/kernel/syscalls/install_irq.c index 4c990ee..5ad2ee6 100644 --- a/kernel/syscalls/install_irq.c +++ b/kernel/syscalls/install_irq.c @@ -16,7 +16,7 @@ void test_handler(reg_t *regs) { int syscall_install_irq(void (*irq_handler)(), u8 irq) { // TODO: This should be able to fail if the handler is already set - tmp = get_current_task(); + tmp = current_task; handler = irq_handler; install_handler(test_handler, INT_32_INTERRUPT_GATE(0x0), 0x20 + irq); return 1; diff --git a/kernel/syscalls/msleep.c b/kernel/syscalls/msleep.c index a752d94..d2c8b59 100644 --- a/kernel/syscalls/msleep.c +++ b/kernel/syscalls/msleep.c @@ -4,6 +4,6 @@ #include <syscalls.h> void syscall_msleep(u32 ms) { - get_current_task()->sleep_until = pit_num_ms() + ms; + current_task->sleep_until = pit_num_ms() + ms; switch_task(); } diff --git a/kernel/syscalls/queue.c b/kernel/syscalls/queue.c new file mode 100644 index 0000000..94f7960 --- /dev/null +++ b/kernel/syscalls/queue.c @@ -0,0 +1,14 @@ +#include <queue.h> +#include <syscalls.h> + +int syscall_queue_create(u32 *id) { + return queue_create(id); +} + +int syscall_queue_add(u32 queue_id, struct event *ev, u32 size) { + return queue_add(queue_id, ev, size); +} + +int syscall_queue_wait(u32 queue_id) { + return queue_wait(queue_id); +} |