#pragma once #include <3ds/types.h> #include <3ds/synchronization.h> typedef struct TaskRunner { LightEvent readyEvent; LightEvent parametersSetEvent; void (*task)(void *argdata); u8 argStorage[0x40]; bool shouldTerminate; } TaskRunner; extern TaskRunner g_taskRunner; void TaskRunner_Init(void); void TaskRunner_RunTask(void (*task)(void *argdata), void *argdata, size_t argsize); void TaskRunner_Terminate(void); /// Thread function void TaskRunner_HandleTasks(void *p); void TaskRunner_WaitReady(void);