#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <time.h>
#include <sys/types.h>
#include <sys/time.h>
#define NOISE_KIDLIFE 100000 /* @noise_filter@ child lifetime */
+#if HAVE_CLOCK_GETTIME && _POSIX_TIMERS > 0
+# define TIMESTRUCT timespec
+# define tv_SEC tv_sec
+# define tv_FRAC tv_nsec
+# define TIMERES 1000000000
+# if _POSIX_MONOTONIC_CLOCK > 0
+# define GETTIME(tv) (clock_gettime(CLOCK_MONOTONIC, (tv)))
+# else
+# define GETTIME(tv) (clock_gettime(CLOCK_REALTIME, (tv)))
+# endif
+# define TOTIMEVAL(tv, xx) \
+ ((tv)->tv_sec = (xx)->tv_sec, \
+ (tv)->tv_usec = ((xx)->tv_nsec + 500)/1000)
+#else
# define TIMESTRUCT timeval
# define tv_SEC tv_sec
# define tv_FRAC tv_usec
# define TIMERES 1000000
# define GETTIME(tv) (gettimeofday((tv), 0))
# define TOTIMEVAL(tv, xx) (*(tv) = *(xx))
+#endif
/*----- Noise source definition -------------------------------------------*/