event.h 612 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef __EVENT_H
  2. #define __EVENT_H
  3. #endif
  4. #include<string.h>
  5. #include<stdlib.h>
  6. #include <stdio.h>
  7. #include <stdbool.h>
  8. #define event_handle event_t*
  9. typedef struct
  10. {
  11. bool state;
  12. bool manual_reset;
  13. pthread_mutex_t mutex;
  14. pthread_cond_t cond;
  15. }event_t;
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. event_handle event_create(bool manual_reset, bool init_state);
  20. int event_timedwait(event_handle hevent, long milliseconds);
  21. int event_set(event_handle hevent);
  22. int event_reset(event_handle hevent);
  23. void event_destroy(event_handle hevent);
  24. #ifdef __cplusplus
  25. };
  26. #endif