@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