summaryrefslogtreecommitdiff
path: root/librt/timer_settime.c
diff options
context:
space:
mode:
Diffstat (limited to 'librt/timer_settime.c')
-rw-r--r--librt/timer_settime.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/librt/timer_settime.c b/librt/timer_settime.c
index 2703fa913..425cd7ee9 100644
--- a/librt/timer_settime.c
+++ b/librt/timer_settime.c
@@ -9,9 +9,20 @@
#include "kernel-posix-timers.h"
-#ifdef __NR_timer_settime
+#if defined(__NR_timer_settime) || defined(__NR_timer_settime64)
+#if defined(__UCLIBC_USE_TIME64__) && defined(__NR_timer_settime64)
+#include "internal/time64_helpers.h"
+
+int timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue)
+{
+ struct timer *kt = (struct timer *)timerid;
+
+ return INLINE_SYSCALL(timer_settime64, 4, kt->ktimerid, flags, TO_ITS64_P(value), ovalue);
+}
+#else
#define __NR___syscall_timer_settime __NR_timer_settime
+
static __inline__ _syscall4(int, __syscall_timer_settime, kernel_timer_t, ktimerid,
int, flags, const void *, value, void *, ovalue);
@@ -26,3 +37,4 @@ int timer_settime(timer_t timerid, int flags, const struct itimerspec *value,
}
#endif
+#endif