#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 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