| 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 uint64_t mtime_since(const struct timespec *, const struct timespec *); |
| 17 | extern uint64_t mtime_since_now(const struct timespec *); |
| 18 | extern uint64_t mtime_since_tv(const struct timeval *, const struct timeval *); |
| 19 | extern uint64_t time_since_now(const struct timespec *); |
| 20 | extern uint64_t time_since_genesis(void); |
| 21 | extern uint64_t mtime_since_genesis(void); |
| 22 | extern uint64_t utime_since_genesis(void); |
| 23 | extern uint64_t usec_spin(unsigned int); |
| 24 | extern uint64_t usec_sleep(struct thread_data *, unsigned long); |
| 25 | extern void fill_start_time(struct timespec *); |
| 26 | extern void set_genesis_time(void); |
| 27 | extern bool ramp_time_over(struct thread_data *); |
| 28 | extern bool in_ramp_time(struct thread_data *); |
| 29 | extern void fio_time_init(void); |
| 30 | extern void timespec_add_msec(struct timespec *, unsigned int); |
| 31 | extern void set_epoch_time(struct thread_data *, int); |
| 32 | |
| 33 | #endif |