models.h 670 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef CX_ZIVUOS_MODELS_H_INCLUDED
  2. #define CX_ZIVUOS_MODELS_H_INCLUDED
  3. #include <stdint.h>
  4. #include <stdbool.h>
  5. #include "status.h"
  6. typedef union zv_universal_param_u {
  7. intptr_t number;
  8. uintptr_t unumber;
  9. void *pointer;
  10. } zv_universal_param_t;
  11. #ifdef ZIVUOS_8BIT_NUMBERS
  12. typedef uint8_t zv_number_t;
  13. #elif ZIVUOS_32BIT_NUMBERS
  14. typedef uint32_t zv_number_t;
  15. #else
  16. typedef uint16_t zv_number_t;
  17. #endif
  18. typedef zv_number_t zv_pid_t;
  19. typedef zv_status_t (*zv_worker_t) (void *, void *);
  20. typedef zv_readiness_t (*zv_checker_t) (void *, void *);
  21. typedef union zv_updater_u {
  22. zv_readiness_t non_dynamic;
  23. zv_checker_t dynamic;
  24. } zv_updater_t;
  25. #endif