| 12345678910111213141516171819202122232425262728 |
- #ifndef CX_MLEMOS_KERNEL_H_INCLUDED
- #define CX_MLEMOS_KERNEL_H_INCLUDED
- #include <stdint.h>
- #include <stdbool.h>
- #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
|