| 1234567891011121314151617181920212223242526272829303132333435363738 |
- #include <malloc.h>
- #include <stdbool.h>
- #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);
- }
|