10 months ago |
2 |
1 |
#include <stdbool.h> | ||
2 |
|||||
3 |
typedef struct Coroutine Coroutine; | ||||
4 |
|||||
5 |
typedef void (*Coroutine_YieldCallback)(void *this); | ||||
6 |
typedef void *(*Coroutine_Start)(void *); | ||||
7 |
|||||
8 |
void Coroutine_StartSystem(); | ||||
9 |
void Coroutine_StopSystem(); | ||||
10 |
Coroutine *Coroutine_New(void *this, Coroutine_YieldCallback on_yield, Coroutine_Start start); | ||||
11 |
void *Coroutine_Run(Coroutine *cor, void *value); | ||||
12 |
void Coroutine_Delete(Coroutine *cor); | ||||
13 |
void Coroutine_Continue(Coroutine *cor, void *value, bool early); | ||||
14 |
void *Coroutine_Yield(void *value); | ||||
15 |
void *Coroutine_GetValue(Coroutine *cor); | ||||
16 |
Coroutine *Coroutine_GetActive(); | ||||
17 |
bool Coroutine_IsRunning(Coroutine *cor); | ||||
18 |