Add util.c

This commit is contained in:
Joseph C. Lehner 2016-11-18 17:26:53 +01:00
parent 8d9ab31b79
commit c6d02936e9

36
util.c Normal file
View file

@ -0,0 +1,36 @@
#include <time.h>
#ifdef NMRPFLASH_OSX
#include <mach/mach_time.h>
#endif
time_t time_monotonic()
{
#ifndef NMRPFLASH_WINDOWS
#ifndef NMRPFLASH_OSX
struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
return ts.ts_sec;
#else
static double factor = 0.0;
mach_timebase_info_data_t timebase;
if (factor == 0.0) {
mach_timebase_info(&timebase);
factor = (double)timebase.numer / timebase.denom;
}
return round(mach_absolute_time() * factor / 1e9);
#endif
#else
return round(GetTickCount() / 1000.0);
#endif
}
int main()
{
time_t beg = time_monotonic();
printf("now: %ld\n", beg);
sleep(2);
printf("+2s: %ld\n", time_monotonic());
return 0;
}