#include #include // http://hosted.cjmovie.net/TutMultitask.htm volatile uint32_t scheduler_run(uint32_t oldesp,uint32_t preference); volatile uint32_t scheduler_wake_worker(uint32_t oldesp); void scheduler_wake_all(); volatile uint32_t task_get_current_pid(); volatile uint32_t task_get_parent(uint32_t pid); volatile void task_set_brk(uint32_t pid,uint32_t brk); void task_syscall_worker(); volatile uint32_t task_get_brk(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, uint32_t brk); volatile uint32_t task_syscall(uint32_t eax,uint32_t ebx, uint32_t ecx, uint32_t edx); uint32_t task_runs(uint32_t pid); uint32_t task_idx(uint32_t pid); void task_exit(uint32_t pid);