| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #ifndef CX_ZIVUOS_STATE_H_INCLUDED
- #define CX_ZIVUOS_STATE_H_INCLUDED
- /**
- * @brief States of the task.
- *
- * That is current task state. It is used also to mark empty tasks
- * slots. Worker also uses that type to mark new state of the task.
- */
- typedef enum zv_state_e {
- /* That state mark task slot as empty. */
- ZV_TASK_EMPTY,
- /* That mean task is ready, and wait to be executed. */
- ZV_TASK_READY,
- /* That mean task is now executed. */
- ZV_TASK_RUNNING,
- /*
- * That mean task is waiting for any event. When any event
- * had been received, task state would be update to ZV_TASK_READY
- * by scheduler.
- */
- ZV_TASK_EVENT_WAIT,
- /*
- * That mean task is waiting for timer event. System timers are
- * processed by scheduler, when target time had elapsed, scheduler
- * would update task state to ZV_TASK_READY.
- */
- ZV_TASK_TIMER_WAIT,
- /*
- * That state could be used by worker. When worker return that state,
- * task would be killed.
- */
- ZV_TASK_KILLED,
- } zv_state_t;
- /**
- * That would return true when task is supported by scheduler timer.
- */
- #define __zv_state_is_timer(X) ( \
- X == ZV_TASK_TIMER_WAIT \
- )
- #endif
|