models.h 746 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef CX_ZIVUOS_MODELS_H_INCLUDED
  2. #define CX_ZIVUOS_MODELS_H_INCLUDED
  3. #include <stddef.h>
  4. #include <stdint.h>
  5. #include <stdbool.h>
  6. #include "state.h"
  7. typedef size_t zv_size_t;
  8. typedef int32_t zv_number_t;
  9. typedef uint32_t zv_unumber_t;
  10. typedef uint32_t zv_tick_t;
  11. typedef uint16_t zv_pid_t;
  12. #define ZV_ERROR_PID 0
  13. typedef enum zv_readiness_e {
  14. ZV_NON_READY = 0,
  15. ZV_READY = 1
  16. } zv_readiness_t;
  17. typedef zv_readiness_t (*zv_updater_t)(void *, void *);
  18. typedef zv_state_t (*zv_worker_t)(void *, void *);
  19. typedef union zv_universal_param_u {
  20. intptr_t number;
  21. uintptr_t unumber;
  22. void *pointer;
  23. } zv_universal_param_t;
  24. typedef union zv_restorer_u {
  25. zv_tick_t time;
  26. zv_updater_t updater;
  27. } zv_restorer_t;
  28. #endif