1 #ifndef FIO_TIME_H 2 #define FIO_TIME_H 3 4 #include <stdint.h> 5 /* IWYU pragma: begin_exports */ 6 #include <time.h> 7 #include <sys/time.h> 8 /* IWYU pragma: end_exports */ 9 #include "lib/types.h" 10 11 struct thread_data; 12 extern uint64_t ntime_since(const struct timespec *, const struct timespec *); 13 extern uint64_t ntime_since_now(const struct timespec *); 14 extern uint64_t utime_since(const struct timespec *, const struct timespec *); 15 extern uint64_t utime_since_now(const struct timespec *); 16 extern int64_t rel_time_since(const struct timespec *, 17 const struct timespec *); 18 extern uint64_t mtime_since(const struct timespec *, const struct timespec *); 19 extern uint64_t mtime_since_now(const struct timespec *); 20 extern uint64_t mtime_since_tv(const struct timeval *, const struct timeval *); 21 extern uint64_t time_since_now(const struct timespec *); 22 extern uint64_t time_since_genesis(void); 23 extern uint64_t mtime_since_genesis(void); 24 extern uint64_t utime_since_genesis(void); 25 extern uint64_t usec_spin(unsigned int); 26 extern uint64_t usec_sleep(struct thread_data *, unsigned long); 27 extern void fill_start_time(struct timespec *); 28 extern void set_genesis_time(void); 29 extern bool ramp_time_over(struct thread_data *); 30 extern bool in_ramp_time(struct thread_data *); 31 extern void fio_time_init(void); 32 extern void timespec_add_msec(struct timespec *, unsigned int); 33 extern void set_epoch_time(struct thread_data *, int); 34 35 #endif 36