2017-05-24 11:04:19 +00:00
|
|
|
#ifndef MM_CONTEXT_H
|
|
|
|
#define MM_CONTEXT_H
|
2017-03-21 09:58:58 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* machinarium.
|
|
|
|
*
|
|
|
|
* cooperative multitasking engine.
|
|
|
|
*/
|
|
|
|
|
2017-05-17 11:43:14 +00:00
|
|
|
typedef void (*mm_context_function_t)(void*);
|
2017-04-13 17:35:49 +00:00
|
|
|
|
2017-05-24 11:04:19 +00:00
|
|
|
typedef struct mm_context mm_context_t;
|
2017-05-16 13:58:06 +00:00
|
|
|
|
2017-05-24 11:04:19 +00:00
|
|
|
struct mm_context
|
|
|
|
{
|
2017-05-16 13:58:06 +00:00
|
|
|
void **sp;
|
|
|
|
};
|
|
|
|
|
2017-05-18 12:07:16 +00:00
|
|
|
void mm_context_create(mm_context_t*, mm_contextstack_t*,
|
2017-05-17 11:43:14 +00:00
|
|
|
mm_context_function_t,
|
2017-05-16 13:58:06 +00:00
|
|
|
void*);
|
|
|
|
void mm_context_swap(mm_context_t*, mm_context_t*);
|
2017-03-21 09:58:58 +00:00
|
|
|
|
2017-05-24 11:04:19 +00:00
|
|
|
#endif /* MM_CONTEXT_H */
|