1 struct timer { 2 struct timeval begin; 3 struct timeval end; 4 int (*expired)(struct timer *timer); 5 }; 6 7 struct timer *new_timer(time_t sec, suseconds_t usec); 8 9 int delay(int64_t ns); 10 11 double timeval_to_double(struct timeval *tv); 12 13 double timeval_diff(struct timeval *tv0, struct timeval *tv1); 14 15 void update_timer(struct timer *tp, time_t sec, suseconds_t usec); 16 17 int64_t timer_remaining(struct timer *tp); 18 19 void free_timer(struct timer *tp); 20 21