From bb2a6b4d93512e8afc1b1999eb58f1f506cc27ae Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sun, 26 Jan 2020 18:38:36 +0100 Subject: Magic commit Some things work, others don't. --- src/kernel/tasks/task.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/kernel/tasks/task.h (limited to 'src/kernel/tasks/task.h') diff --git a/src/kernel/tasks/task.h b/src/kernel/tasks/task.h new file mode 100644 index 0000000..97aeb15 --- /dev/null +++ b/src/kernel/tasks/task.h @@ -0,0 +1,30 @@ +#ifndef MELVIX_TASK_H +#define MELVIX_TASK_H + +#include +#include + +#define KERNEL_STACK_SIZE 2048 + +typedef struct task { + int id; + uint32_t esp, ebp; + uint32_t eip; + page_directory_t *page_directory; + uint32_t kernel_stack; + struct task *next; +} task_t; + +void tasking_install(); + +void switch_task(); + +int fork(); + +void move_stack(void *new_stack_start, uint32_t size); + +int getpid(); + +void switch_to_usermode(uint32_t); + +#endif -- cgit v1.2.3