#include #include #include "kernel.h" #include "process.h" #include "worker.h" zivu_kernel_t* zivu_kernel_init_dynamic() { zivu_kernel_t *current = (zivu_kernel_t*) malloc(sizeof(zivu_kernel_t)); current->processes = NULL; current->is_static = false; current->processes_count = 0; return current; } void zivu_kernel_init_static( zivu_kernel_t *self, zivu_process_t *processes_table, zivu_pid_t processes_count ) { self->is_static = true; self->processes = processes_table; self->processes_count = processes_count; } void zivu_kernel_remove(zivu_kernel_t *self) { if (self->is_static) { self->processes = NULL; self->processes_count = 0; return; } free((void*) self); free((void*) self->processes); }