#include <stdlib.h>
#include <stdio.h>
-#if !HAVE_CLOCK_GETTIME && !HAVE_CLOCK_GETTIME_IN_LIBRT
+#if !HAVE_CLOCK_GETTIME
#include <sys/time.h>
struct timeabs time_now(void)
clock_gettime(CLOCK_REALTIME, &ret.ts);
return TIMEABS_CHECK(ret);
}
-#endif /* HAVE_CLOCK_GETTIME || HAVE_CLOCK_GETTIME_IN_LIBRT */
+#endif /* HAVE_CLOCK_GETTIME */
+
+struct timemono time_mono(void)
+{
+ struct timemono ret;
+#if TIME_HAVE_MONOTONIC
+ clock_gettime(CLOCK_MONOTONIC, &ret.ts);
+#else /* Best we can do */
+ ret.ts = time_now().ts;
+#endif /* !HAVE_TIME_MONOTONIC */
+ return TIMEMONO_CHECK(ret);
+}
struct timerel time_divide(struct timerel t, unsigned long div)
{
ret.ts = time_check_(t.ts, abortstr);
return ret;
}
+
+struct timemono timemono_check(struct timemono t, const char *abortstr)
+{
+ struct timemono ret;
+
+ ret.ts = time_check_(t.ts, abortstr);
+ return ret;
+}