summaryrefslogtreecommitdiff
path: root/kernel/scheduler.h
blob: a6eacd8e28df629d1b80147fa93a41783ea0a765 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdint.h>
// http://hosted.cjmovie.net/TutMultitask.htm
void scheduler_init(void *pdirectory_dir);
volatile int task_get_current_pid();
volatile void task_set_brk(uint32_t brk);
void task_syscall_worker();
volatile uint32_t task_get_brk();
volatile uint32_t task_exit(uint32_t pid);
volatile uint32_t task_fork(uint32_t pid);
volatile uint32_t task_clone(uint32_t pid);
volatile uint32_t task_wait(uint32_t pid);
volatile int task_reset(uint32_t pid, uint32_t entry, uint32_t stack);
volatile uint32_t task_syscall(uint32_t eax,uint32_t ebx, uint32_t ecx, uint32_t edx);
volatile uint32_t my_scheduler(uint32_t oldesp,uint32_t force_pid);