| 12345678910111213141516171819202122232425262728 |
- #ifndef CX_ZIVUOS_TASK_H_INCLUDED
- #define CX_ZIVUOS_TASK_H_INCLUDED
- #include "zv_types.h"
- #include "state.h"
- #include "event.h"
- /**
- * @brief That structure store single stack.
- *
- *
- */
- typedef struct zv_task_s {
- zv_state_t state;
- void *param;
- zv_event_t event;
- zv_worker_t worker;
- zv_priority_t age;
- zv_priority_t priority;
- } zv_task_t;
- #define __zv_task_mark_running(X) (X->state = ZV_TASK_RUNNING)
- #define __zv_task_clear_age(X) (X->age = 0)
- #define __zv_task_is_ready(X) (X->state == ZV_TASK_READY)
- #define __zv_task_calc_priority(X) ((X->priority) + (X->age))
- #endif
|