| 123456789101112131415161718192021222324252627282930313233343536 |
- #ifndef CX_ZIVUOS_KERNEL_H_INCLUDED
- #define CX_ZIVUOS_KERNEL_H_INCLUDED
- #include <stdbool.h>
- #include "status.h"
- #include "models.h"
- #include "process.h"
- typedef struct zv_kernel_s {
- zv_process_t *processes;
- zv_pid_t processes_count;
- zv_pid_t current_max_pid;
- #ifndef ZIVUOS_USE_STATIC
- bool is_dynamic;
- #endif
- } zv_kernel_t;
- zv_kernel_t * zv_kernel_create();
- void zv_kernel_close(zv_kernel_t *);
- static inline void zv_kernel_init(zv_kernel_t *, zv_process_t *);
- zv_process_t * zv_kernel_create_process(zv_kernel_t *);
- void zv_kernel_scheduler(zv_kernel_t *, bool);
- /* Static inline functions */
- static inline void zv_kernel_init(
- zv_kernel_t *self,
- zv_process_t *processes
- ) {
- self->processes = processes;
- }
- #endif
|