@node time.h
@section @file{time.h}

POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/time.h.html}

Gnulib module: time

Portability problems fixed by Gnulib:
@itemize
@item
@samp{struct timespec} is not defined on some platforms.

@item
Some platforms provide a @code{NULL} macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
On platforms with 32-bit @code{time_t}, functions like @code{stat} can
fail with @code{errno == EOVERFLOW} when a timestamp is out of range,
such as with a file timestamp in the far future or past; on others,
the functions silently return the low-order 32 bits of the correct
timestamp.  These platforms will be obsolete when 32-bit @code{time_t}
rolls around, which will occur in 2038 for the typical case when
@code{time_t} is signed.
@item
On some platforms the @code{tv_nsec} member of @code{struct timespec}
is not of type @code{long}, but is of type @code{long long} instead:
glibc x32
@end itemize
