46 uint32_t *stack, uint32_t stack_size,
47 uint32_t *data,
const char *name);
void os_create_task(icarus_task_t *task, void(*function)(void), uint32_t *stack, uint32_t stack_size, uint32_t *data, const char *name)
Create a task with explicit stack allocation.
void os_task_suicide(void)
Terminate current task (suicide)
void __os_kill_process(uint8_t task_index)
Privileged implementation of os_kill_process.
void __os_exit_task(void)
Privileged implementation of os_exit_task.
void __os_restart_task(uint8_t task_index)
Privileged implementation of os_restart_task.
void __os_register_task(void(*function)(void), const char *name)
Privileged implementation of os_register_task.
void os_exit_task(void)
Terminate current task normally.
void os_kill_process(uint8_t task_index)
Terminate another task by index.
void os_restart_task(uint8_t task_index)
Restart a killed or finished task (cold restart from entry point).
void __os_task_suicide(void)
Privileged implementation of os_task_suicide.
void os_register_task(void(*function)(void), const char *name)
Register a task with automatic stack allocation.
ICARUS OS Core Type Definitions.