1 /******************************************************************************/ 2 #ifdef JEMALLOC_H_TYPES 3 4 typedef struct nstime_s nstime_t; 5 6 /* Maximum supported number of seconds (~584 years). */ 7 #define NSTIME_SEC_MAX KQU(18446744072) 8 9 #endif /* JEMALLOC_H_TYPES */ 10 /******************************************************************************/ 11 #ifdef JEMALLOC_H_STRUCTS 12 13 struct nstime_s { 14 uint64_t ns; 15 }; 16 17 #endif /* JEMALLOC_H_STRUCTS */ 18 /******************************************************************************/ 19 #ifdef JEMALLOC_H_EXTERNS 20 21 void nstime_init(nstime_t *time, uint64_t ns); 22 void nstime_init2(nstime_t *time, uint64_t sec, uint64_t nsec); 23 uint64_t nstime_ns(const nstime_t *time); 24 uint64_t nstime_sec(const nstime_t *time); 25 uint64_t nstime_nsec(const nstime_t *time); 26 void nstime_copy(nstime_t *time, const nstime_t *source); 27 int nstime_compare(const nstime_t *a, const nstime_t *b); 28 void nstime_add(nstime_t *time, const nstime_t *addend); 29 void nstime_subtract(nstime_t *time, const nstime_t *subtrahend); 30 void nstime_imultiply(nstime_t *time, uint64_t multiplier); 31 void nstime_idivide(nstime_t *time, uint64_t divisor); 32 uint64_t nstime_divide(const nstime_t *time, const nstime_t *divisor); 33 #ifdef JEMALLOC_JET 34 typedef bool (nstime_monotonic_t)(void); 35 extern nstime_monotonic_t *nstime_monotonic; 36 typedef bool (nstime_update_t)(nstime_t *); 37 extern nstime_update_t *nstime_update; 38 #else 39 bool nstime_monotonic(void); 40 bool nstime_update(nstime_t *time); 41 #endif 42 43 #endif /* JEMALLOC_H_EXTERNS */ 44 /******************************************************************************/ 45 #ifdef JEMALLOC_H_INLINES 46 47 #endif /* JEMALLOC_H_INLINES */ 48 /******************************************************************************/ 49