process.h 449 B

12345678910111213141516171819202122232425
  1. #ifndef CX_ZIVUOS_PROCESS_H_INCLUDED
  2. #define CX_ZIVUOS_PROCESS_H_INCLUDED
  3. #include "zivu_types.h"
  4. #include "latch.h"
  5. typedef enum zv_state_e {
  6. CLOSED,
  7. SLEEP,
  8. WORKING,
  9. CHECKER_WAITING,
  10. LATCH_WAITING
  11. } zv_state_t;
  12. typedef struct zv_process_s {
  13. zv_priority_t priority;
  14. zv_latch_t latch[1];
  15. zv_universal_param_t param[1];
  16. zv_state_t state;
  17. zv_worker_t worker;
  18. zv_checker_t checker;
  19. } zv_process_t;
  20. #endif