egg_timer.h 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. #ifndef _EGG_TIMER_H_
  2. #define _EGG_TIMER_H_
  3. #include "types.h"
  4. typedef struct egg_timeval_b {
  5. long sec;
  6. long usec;
  7. } egg_timeval_t;
  8. #define TIMER_REPEAT 1
  9. /* Create a simple timer with no client data and no flags. */
  10. #define timer_create(howlong,name,callback) timer_create_complex(howlong, name, callback, NULL, 0)
  11. /* Create a simple timer with no client data, but it repeats. */
  12. #define timer_create_repeater(howlong,name,callback) timer_create_complex(howlong, name, callback, NULL, TIMER_REPEAT)
  13. int timer_get_time(egg_timeval_t *curtime);
  14. void timer_get_now(egg_timeval_t *_now);
  15. int timer_get_now_sec(int *sec);
  16. int timer_update_now(egg_timeval_t *_now);
  17. int timer_diff(egg_timeval_t *from_time, egg_timeval_t *to_time, egg_timeval_t *diff);
  18. int timer_create_secs(int, const char *, Function);
  19. int timer_create_complex(egg_timeval_t *howlong, const char *name, Function callback, void *client_data, int flags);
  20. int timer_destroy(int timer_id);
  21. int timer_destroy_all();
  22. int timer_get_shortest(egg_timeval_t *howlong);
  23. int timer_run();
  24. int timer_list(int **ids);
  25. int timer_info(int id, char **name, egg_timeval_t *initial_len, egg_timeval_t *trigger_time, int *called);
  26. #endif /* _EGG_TIMER_H_ */