2017-05-24 11:04:19 +00:00
|
|
|
#ifndef MM_H
|
|
|
|
#define MM_H
|
2017-03-21 09:47:32 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* machinarium.
|
|
|
|
*
|
|
|
|
* cooperative multitasking engine.
|
2020-04-02 11:00:56 +00:00
|
|
|
*/
|
2017-03-21 09:47:32 +00:00
|
|
|
|
2018-11-19 14:52:37 +00:00
|
|
|
typedef struct mm_config mm_config_t;
|
2020-04-02 11:00:56 +00:00
|
|
|
typedef struct mm mm_t;
|
2018-11-19 14:52:37 +00:00
|
|
|
|
2020-12-28 10:43:31 +00:00
|
|
|
struct mm_config {
|
2018-11-19 14:52:37 +00:00
|
|
|
int page_size;
|
|
|
|
int stack_size;
|
|
|
|
int pool_size;
|
|
|
|
int coroutine_cache_size;
|
|
|
|
int msg_cache_gc_size;
|
|
|
|
};
|
2017-05-18 09:50:28 +00:00
|
|
|
|
2020-12-28 10:43:31 +00:00
|
|
|
struct mm {
|
2020-04-02 11:00:56 +00:00
|
|
|
mm_config_t config;
|
2018-11-19 14:52:37 +00:00
|
|
|
mm_machinemgr_t machine_mgr;
|
2020-04-02 11:00:56 +00:00
|
|
|
mm_taskmgr_t task_mgr;
|
2017-05-18 09:50:28 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
extern mm_t machinarium;
|
2017-05-17 14:20:04 +00:00
|
|
|
|
2017-05-24 11:04:19 +00:00
|
|
|
#endif /* MM_H */
|