summaryrefslogtreecommitdiff
path: root/kernel/scheduler.h
blob: 18002da7b51d7810b41315cfd629feaa78c28ed3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdint.h>
// http://hosted.cjmovie.net/TutMultitask.htm

volatile uint32_t scheduler_run(uint32_t oldesp,uint32_t force_pid);

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);