limits.h
========

POSIX specification:
 https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html

Gnulib module: limits-h or gethostname

Portability problems fixed by Gnulib module limits-h:

  * The macros LLONG_MIN, LLONG_MAX, ULLONG_MAX are not defined on some platforms: older glibc systems (e.g. Fedora 1), AIX 5.1, HP-UX 11, IRIX 6.5, OpenVMS.

  * The macro MB_LEN_MAX is not defined on some platforms: pcc 1.2.0.DEVEL 20220331.

  * The macros WORD_BIT, LONG_BIT are not defined on some platforms: glibc 2.11 without -D_GNU_SOURCE, Cygwin, mingw, MSVC 14.

  * Macros like CHAR_WIDTH are not defined on some platforms: glibc 2.24, NetBSD 9.0, many others.

  * The macros BOOL_MAX and BOOL_WIDTH are not defined on some platforms: glibc 2.32, many others.

  * The macro BOOL_MAX is not defined with some compilers: clang 15.0.6.

  * The macro SSIZE_MAX is not defined on some platforms: MSVC 14.

Portability problems fixed by Gnulib module gethostname:

  * The HOST_NAME_MAX macro is not defined on some platforms: macOS 11.1, FreeBSD 14.0, NetBSD 9.0, OpenBSD 6.7, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 11.4, Cygwin 1.5.x, mingw, MSVC 14.

Portability problems not fixed by Gnulib:

  * The macro SSIZE_MAX has the wrong type, albeit with the correct value: 32-bit glibc 2.24 (on some architectures), Cygwin 2.5.2.

For PATH_MAX, Gnulib provides a module pathmax with a header file "pathmax.h".  It defines PATH_MAX to a constant on platforms with a file name length limit.