summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/src/posixtimespectointerval.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-11-02 18:35:52 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-11-02 18:35:52 +0000
commit9f95a19a57f0f85212c320327636e93d70bbecc8 (patch)
treed62e1fc518777ce07e83994183d0d1b82a7f8a02 /cpukit/posix/src/posixtimespectointerval.c
parentSplit condition variables into multiple files. (diff)
downloadrtems-9f95a19a57f0f85212c320327636e93d70bbecc8.tar.bz2
Split time.c into multiple files.
Diffstat (limited to 'cpukit/posix/src/posixtimespectointerval.c')
-rw-r--r--cpukit/posix/src/posixtimespectointerval.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/cpukit/posix/src/posixtimespectointerval.c b/cpukit/posix/src/posixtimespectointerval.c
new file mode 100644
index 0000000000..388dd791eb
--- /dev/null
+++ b/cpukit/posix/src/posixtimespectointerval.c
@@ -0,0 +1,38 @@
+/*
+ * $Id$
+ */
+
+#include <assert.h>
+#include <time.h>
+#include <errno.h>
+
+#include <rtems/system.h>
+#include <rtems/score/isr.h>
+#include <rtems/score/thread.h>
+#include <rtems/score/tod.h>
+
+#include <rtems/posix/seterr.h>
+#include <rtems/posix/time.h>
+
+/*PAGE
+ *
+ * _POSIX_Timespec_to_interval
+ */
+
+Watchdog_Interval _POSIX_Timespec_to_interval(
+ const struct timespec *time
+)
+{
+ Watchdog_Interval ticks;
+
+ ticks = (time->tv_sec * TOD_MICROSECONDS_PER_SECOND) /
+ _TOD_Microseconds_per_tick;
+
+ ticks += (time->tv_nsec / TOD_NANOSECONDS_PER_MICROSECOND) /
+ _TOD_Microseconds_per_tick;
+
+ if (ticks)
+ return ticks;
+
+ return 1;
+}