diff options
Diffstat (limited to 'include/task.h')
-rw-r--r-- | include/task.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/task.h b/include/task.h new file mode 100644 index 000000000..cb01efbef --- /dev/null +++ b/include/task.h @@ -0,0 +1,27 @@ +#ifndef GUARD_TASK_H +#define GUARD_TASK_H + +typedef void (*TaskFunc)(u8 taskId); + +struct Task +{ + TaskFunc func; + bool8 isActive; + u8 prev; + u8 next; + u8 priority; + u16 data[16]; +}; + +void ResetTasks(); +u8 CreateTask(TaskFunc func, u8 priority); +void DestroyTask(u8 taskId); +void RunTasks(); +void TaskDummy(u8 taskId); +void SetTaskFuncWithFollowupFunc(u8 taskId, TaskFunc func, TaskFunc followupFunc); +void SwitchTaskToFollowupFunc(u8 taskId); +bool8 FuncIsActiveTask(TaskFunc func); +u8 FindTaskIdByFunc(TaskFunc func); +u8 GetTaskCount(); + +#endif // GUARD_TASK_H |