time: Introduce glibc's internal struct __itimerspec64
authorLukasz Majewski <lukma@denx.de>
Tue, 5 Nov 2019 11:44:26 +0000 (12:44 +0100)
committerLukasz Majewski <lukma@denx.de>
Thu, 5 Dec 2019 22:16:54 +0000 (23:16 +0100)
This change provides the glibc's internal struct itimerspec representation,
which is explicitly supporting 64 bit time (by using struct __timespec64).

Such representation is necessary to provide correct time after Y2038
(time_t overflow) on devices with __TIMESIZE == 32.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
include/time.h

index c19c73a..1eb3d82 100644 (file)
@@ -83,6 +83,17 @@ struct __timespec64
 #endif
 
 #if __TIMESIZE == 64
+# define __itimerspec64 itimerspec
+#else
+/* The glibc's internal representation of the struct itimerspec.  */
+struct __itimerspec64
+{
+  struct __timespec64 it_interval;
+  struct __timespec64 it_value;
+};
+#endif
+
+#if __TIMESIZE == 64
 # define __ctime64 ctime
 #else
 extern char *__ctime64 (const __time64_t *__timer) __THROW;