9 #ifndef TEMU_SUPPORT_TIME
10 #define TEMU_SUPPORT_TIME
11 #include "temu-c/Support/Temu3Compat.h"
12 #include "temu-c/Support/Attributes.h"
13 #include "temu-c/Support/Events.h"
40 TEMU_API uint64_t temu_timeGetMonotonicWct(
void);
50 TEMU_API uint64_t temu_timeGetThreadWct(
void);
57 TEMU_API uint64_t temu_timeGetCurrentSrtNanos(temu_TimeSource_ *TS);
66 TEMU_API uint64_t temu_cyclesToStepsRoundedUp(temu_TimeSource *TS, uint64_t Cycles);
74 TEMU_API uint64_t temu_stepsToCyclesRoundedUp(temu_TimeSource *TS, uint64_t Steps);
83 TEMU_API uint64_t temu_cyclesToSteps(temu_TimeSource *TS, uint64_t Cycles);
91 TEMU_API uint64_t temu_stepsToCycles(temu_TimeSource *TS, uint64_t Steps);
98 TEMU_API int64_t temu_getSteps(temu_TimeSource *TS);
107 TEMU_API int64_t temu_getCycles(temu_TimeSource_ *TS);
114 TEMU_API int64_t temu_getNanos(temu_TimeSource_ *TS);
138 TEMU_API int64_t temu_cyclesToNanos(int64_t Cycles, int64_t Freq);
147 TEMU_API int64_t temu_cyclesToOtherFreqTruncated(int64_t Cycles,
158 TEMU_API int64_t temu_cyclesToOtherFreqRoundedUp(int64_t Cycles,
178 TEMU_API int64_t temu_nanosToCycles(int64_t Nanos, int64_t Freq);
188 TEMU_API int64_t temu_nanosToCyclesRoundedUp(int64_t Nanos, int64_t Freq);
202 TEMU_API int64_t temu_secsToNanos(
double Secs);
210 TEMU_API int64_t temu_secsToCycles(
double Secs, int64_t Freq);