odyssey/sources/task_mgr.h

26 lines
476 B
C
Raw Normal View History

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.
*/
2017-05-24 11:04:19 +00:00
typedef struct mm_taskmgr mm_taskmgr_t;
2017-05-23 12:34:35 +00:00
2017-05-24 11:04:19 +00:00
struct mm_taskmgr
{
2017-05-23 12:34:35 +00:00
int workers_count;
int *workers;
mm_queue_t queue;
mm_event_t event;
2017-05-23 12:34:35 +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 */