summaryrefslogtreecommitdiffstats
path: root/c/src/exec/posix/src/clockgetres.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 /c/src/exec/posix/src/clockgetres.c
parentSplit condition variables into multiple files. (diff)
downloadrtems-9f95a19a57f0f85212c320327636e93d70bbecc8.tar.bz2
Split time.c into multiple files.
Diffstat (limited to 'c/src/exec/posix/src/clockgetres.c')
-rw-r--r--c/src/exec/posix/src/clockgetres.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/c/src/exec/posix/src/clockgetres.c b/c/src/exec/posix/src/clockgetres.c
new file mode 100644
index 0000000000..3be3439cdb
--- /dev/null
+++ b/c/src/exec/posix/src/clockgetres.c
@@ -0,0 +1,48 @@
+/*
+ * $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
+ *
+ * 14.2.1 Clocks, P1003.1b-1993, p. 263
+ */
+
+int clock_getres(
+ clockid_t clock_id,
+ struct timespec *res
+)
+{
+ if ( !res )
+ set_errno_and_return_minus_one( EINVAL );
+
+ switch ( clock_id ) {
+
+ /*
+ * All time in rtems is based on the same clock tick.
+ */
+
+ case CLOCK_REALTIME:
+ case CLOCK_PROCESS_CPUTIME:
+ case CLOCK_THREAD_CPUTIME:
+ if ( res )
+ _POSIX_Interval_to_timespec( _TOD_Microseconds_per_tick, res );
+ break;
+
+ default:
+ set_errno_and_return_minus_one( EINVAL );
+
+ }
+ return 0;
+}