/* gettime -- get the system clock
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "timespec.h"
-/* Get the system time. */
+/* Get the system time into *TS. */
-int
+void
gettime (struct timespec *ts)
{
-#if defined CLOCK_REALTIME && HAVE_CLOCK_SETTIME
+#if HAVE_NANOTIME
+ nanotime (ts);
+#else
+
+# if defined CLOCK_REALTIME && HAVE_CLOCK_GETTIME
if (clock_gettime (CLOCK_REALTIME, ts) == 0)
- return 0;
-#endif
+ return;
+# endif
+# if HAVE_GETTIMEOFDAY
{
struct timeval tv;
- int r = gettimeofday (&tv, 0);
- if (r == 0)
- {
- ts->tv_sec = tv.tv_sec;
- ts->tv_nsec = tv.tv_usec * 1000;
- }
- return r;
+ gettimeofday (&tv, NULL);
+ ts->tv_sec = tv.tv_sec;
+ ts->tv_nsec = tv.tv_usec * 1000;
}
+# else
+ ts->tv_sec = time (NULL);
+ ts->tv_nsec = 0;
+# endif
+
+#endif
}