#ifndef CX_MLEMOS_KERNEL_H_INCLUDED #define CX_MLEMOS_KERNEL_H_INCLUDED #include #include #include "event.h" #include "process.h" #include "coroutine.h" typedef size_t cm_pid_t; #define CM_NULL_PID 0 typedef struct cm_kernel_s { cm_process_t *processes; size_t processes_count; } cm_kernel_t; bool cm_kernel_init_static(cm_kernel_t *, cm_process_t *, size_t); bool cm_kernel_drop_static(cm_kernel_t *); bool cm_kernel_init(cm_kernel_t *, size_t); bool cm_kernel_drop(cm_kernel_t *); cm_pid_t cm_create_process(cm_kernel_t *, cm_coroutine_t, cm_event_t); bool cm_kill_process(cm_kernel_t *, cm_pid_t); #endif