#ifndef _JOVE_PROC_SCHEDULER_H #define _JOVE_PROC_SCHEDULER_H 1 #include "process.h" void scheduler_init(jove_owned_obj_t *pcb_obj, void *process_main); void scheduler_savestate(void); void scheduler_restorestate(void); void scheduler_switch(void *this_sp, void *other_sp); void _scheduler_switch_pcb_arch(pcb_t *target); int scheduler_yield(pid_t target); void scheduler_tick(void); void scheduler_block_for_mail(struct pcb_header *pcb, size_t timeout, pid_t yield_target); #endif