1 #ifndef JEMALLOC_INTERNAL_NSTIME_EXTERNS_H 2 #define JEMALLOC_INTERNAL_NSTIME_EXTERNS_H 3 4 #pragma GCC visibility push(hidden) 5 6 void nstime_init(nstime_t *time, uint64_t ns); 7 void nstime_init2(nstime_t *time, uint64_t sec, uint64_t nsec); 8 uint64_t nstime_ns(const nstime_t *time); 9 uint64_t nstime_sec(const nstime_t *time); 10 uint64_t nstime_nsec(const nstime_t *time); 11 void nstime_copy(nstime_t *time, const nstime_t *source); 12 int nstime_compare(const nstime_t *a, const nstime_t *b); 13 void nstime_add(nstime_t *time, const nstime_t *addend); 14 void nstime_subtract(nstime_t *time, const nstime_t *subtrahend); 15 void nstime_imultiply(nstime_t *time, uint64_t multiplier); 16 void nstime_idivide(nstime_t *time, uint64_t divisor); 17 uint64_t nstime_divide(const nstime_t *time, const nstime_t *divisor); 18 #ifdef JEMALLOC_JET 19 typedef bool (nstime_monotonic_t)(void); 20 extern nstime_monotonic_t *nstime_monotonic; 21 typedef bool (nstime_update_t)(nstime_t *); 22 extern nstime_update_t *nstime_update; 23 #else 24 bool nstime_monotonic(void); 25 bool nstime_update(nstime_t *time); 26 #endif 27 28 #pragma GCC visibility pop 29 30 #endif /* JEMALLOC_INTERNAL_NSTIME_EXTERNS_H */ 31