#ifndef CX_ZIVUOS_SCHEDULER_H_INCLUDED #define CX_ZIVUOS_SCHEDULER_H_INCLUDED #include "models.h" #include "process.h" typedef enum zv_scheduler_mode_e { ZV_FIRST_MATCH, ZV_ROUND_ROBIN_FIRST_MATCH, ZV_BALANCED_PRIORITY, ZV_NON_BALANCED_PRIORITY } zv_scheduler_mode_t; void zv_kernel_scheduler(struct zv_kernel_s *); zv_process_t * zv_kernel_round_first_match(struct zv_kernel_s *); zv_process_t * zv_kernel_balanced_priority(struct zv_kernel_s *); zv_process_t * zv_kernel_non_balanced_priority(struct zv_kernel_s *); zv_process_t * zv_kernel_basic_scheduler(struct zv_kernel_s *); zv_process_t * zv_kernel_scheduler_mode_selector(struct zv_kernel_s *); zv_process_t * zv_kernel_scheduler_select_interrupted(struct zv_kernel_s *); #endif