y2038: Introduce struct __ntptimeval64 - new internal glibc type

This type is a glibc's "internal" type to get time parameters data from
Linux kernel (NTP daemon interface). It stores time in struct __timeval64
rather than struct timeval, which makes it Y2038-proof.

Build tests:
./src/scripts/build-many-glibcs.py glibcs

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
Lukasz Majewski 2020-04-22 01:01:21 +02:00
parent 0308077e3a
commit df4289508a

View File

@ -32,6 +32,7 @@ libc_hidden_proto (__adjtimex)
# define __timex64 timex
# define __clock_adjtime64 __clock_adjtime
# define ___adjtimex64 ___adjtimex
# define __ntptimeval64 ntptimeval
# else
struct __timex64
@ -77,6 +78,19 @@ extern int __clock_adjtime64 (const clockid_t clock_id, struct __timex64 *tx64);
libc_hidden_proto (__clock_adjtime64);
extern int ___adjtimex64 (struct __timex64 *tx64);
libc_hidden_proto (___adjtimex64)
struct __ntptimeval64
{
struct __timeval64 time; /* current time (ro) */
long int maxerror; /* maximum error (us) (ro) */
long int esterror; /* estimated error (us) (ro) */
long int tai; /* TAI offset (ro) */
long int __glibc_reserved1;
long int __glibc_reserved2;
long int __glibc_reserved3;
long int __glibc_reserved4;
};
# endif
/* Convert a known valid struct timex into a struct __timex64. */