summaryrefslogtreecommitdiff
path: root/kernel/syscalls
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/syscalls')
-rw-r--r--kernel/syscalls/getcwd.c4
-rw-r--r--kernel/syscalls/install_irq.c2
-rw-r--r--kernel/syscalls/msleep.c2
-rw-r--r--kernel/syscalls/queue.c14
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);
+}