2017-05-24 11:04:19 +00:00
|
|
|
#ifndef MM_TASK_MGR_H
|
|
|
|
#define MM_TASK_MGR_H
|
2017-05-23 12:34:35 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* machinarium.
|
|
|
|
*
|
|
|
|
* cooperative multitasking engine.
|
2020-04-02 11:00:56 +00:00
|
|
|
*/
|
2017-05-23 12:34:35 +00:00
|
|
|
|
2017-05-24 11:04:19 +00:00
|
|
|
typedef struct mm_taskmgr mm_taskmgr_t;
|
2017-05-23 12:34:35 +00:00
|
|
|
|
2020-12-28 10:43:31 +00:00
|
|
|
struct mm_taskmgr {
|
2020-04-02 11:00:56 +00:00
|
|
|
int workers_count;
|
|
|
|
int *workers;
|
|
|
|
mm_channel_t channel;
|
|
|
|
mm_event_t event;
|
2017-05-23 12:34:35 +00:00
|
|
|
};
|
|
|
|
|
2020-12-28 10:43:31 +00:00
|
|
|
void mm_taskmgr_init(mm_taskmgr_t *);
|
|
|
|
int mm_taskmgr_start(mm_taskmgr_t *, int);
|
|
|
|
void mm_taskmgr_stop(mm_taskmgr_t *);
|
|
|
|
int mm_taskmgr_new(mm_taskmgr_t *, mm_task_function_t, void *, uint32_t);
|
2017-05-23 12:34:35 +00:00
|
|
|
|
2017-05-24 11:04:19 +00:00
|
|
|
#endif /* MM_TASK_MGR_H */
|