pipe.h 929 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef ZIVUOS_PIPE_H_INCLUDED
  2. #define ZIVUOS_PIPE_H_INCLUDED
  3. #include <stdint.h>
  4. #include <stdbool.h>
  5. #include "porttypes.h"
  6. typedef struct zv_pipe_s {
  7. void *content;
  8. bool changed;
  9. } zv_pipe_t;
  10. zv_pipe_t * zv_pipe_create();
  11. void zv_pipe_init(zv_pipe_t *);
  12. void zv_pipe_delete(zv_pipe_t *);
  13. bool zv_pipe_is_changed(zv_pipe_t *);
  14. intptr_t zv_pipe_read_number(zv_pipe_t *);
  15. void * zv_pipe_read_content(zv_pipe_t *);
  16. void zv_pipe_write_number(zv_pipe_t *, intptr_t);
  17. void zv_pipe_write_content(zv_pipe_t *, void *);
  18. #ifdef USING_NAMESPACE_ZV
  19. #define pipe_is_changed zv_pipe_is_changed
  20. #define pipe_create zv_pipe_create
  21. #define pipe_init zv_pipe_init
  22. #define pipe_delete zv_pipe_delete
  23. #define pipe_read_number zv_pipe_read_number
  24. #define pipe_read_content zv_pipe_read_content
  25. #define pipe_write_number zv_pipe_write_number
  26. #define pipe_write_content zv_pipe_write_content
  27. typedef zv_pipe_t pipe_t;
  28. #endif
  29. #endif