#ifndef CX_ZIVUOS_KERNEL_H_INCLUDED #define CX_ZIVUOS_KERNEL_H_INCLUDED #include #include "process.h" #include "zivu_types.h" typedef struct zv_kernel_s { zv_process_t *processes; zv_pid_t processes_count; zv_pid_t current_process; /* For dynamic also kernel. */ #ifndef ZV_DISABLE_DYNAMIC bool is_dynamic; #endif } zv_kernel_t; #define ZV_IDLE_PROCESS ZV_MAX_PID_T void zv_kernel_init(zv_kernel_t *, zv_process_t *, zv_pid_t); /* For dynamic also. */ #ifndef ZV_DISABLE_DYNAMIC zv_kernel_t * zv_kernel_create(); #define ZV_DYNAMIC_PROCESSES_STEP 0x08 #endif #endif