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

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

Gnulib module: ---

Portability problems fixed by Gnulib:
@itemize
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
This header file is missing on some platforms:
FreeBSD 8.4, OpenBSD 7.2, Minix 3.1.8, mingw, MSVC 14, Android 13.0.
@item
While some platforms have the @code{struct utmpx} field @code{ut_user},
older platforms have the field @code{ut_name}.
@item
The @code{struct utmpx} field @code{ut_exit} does not exist on some platforms:
macOS, FreeBSD, AIX, Cygwin.
@item
The @code{struct utmpx} field @code{ut_session} does not exist
on some platforms:
macOS, FreeBSD, AIX, HP-UX, Cygwin.
@item
The @code{struct utmpx} field @code{ut_addr} or @code{ut_addr_v6} or
@code{ut_ss} does not exist on some platforms:
macOS, FreeBSD, AIX, IRIX, Solaris.
@item
On some platforms, this API does not support timestamps past the
year 2038:
glibc 2.38 on 32-bit platforms like x86 and ARM where @code{time_t}
was historically 32 bits.
@item
On some platforms, this header misbehaves if the @code{year2038} or
@code{year2038-recommended} modules are used and the program is
configured without the @option{--disable-year2038} option.
The @code{readutmp} module works around this problem:
glibc 2.38 on 32-bit platforms like x86 and ARM where @code{time_t}
was historically 32 bits.
@xref{Avoiding the year 2038 problem}.
@end itemize
