Next: locale.h, Previous: libgen.h, Up: ISO C and POSIX Header File Substitutes [Contents][Index]
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
:
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, OpenVMS.
MB_LEN_MAX
is not defined on some platforms:
pcc 1.2.0.DEVEL 20220331.
WORD_BIT
, LONG_BIT
are not defined on some platforms:
glibc 2.11 without -D_GNU_SOURCE
, Cygwin, mingw, MSVC 14.
CHAR_WIDTH
are not defined on some platforms:
glibc 2.24, NetBSD 10.0, many others.
BOOL_MAX
and BOOL_WIDTH
are not defined on
some platforms:
glibc 2.32, many others.
BOOL_MAX
is not defined with some compilers:
clang 15.0.6.
SSIZE_MAX
is not defined on some platforms:
MSVC 14.
Portability problems fixed by Gnulib module gethostname
:
HOST_NAME_MAX
macro is not defined on some platforms:
macOS 11.1, FreeBSD 14.0, NetBSD 10.0, OpenBSD 6.7, AIX 5.1, HP-UX 11, Solaris 11.4, Cygwin 1.5.x, mingw, MSVC 14.
Portability problems not fixed by Gnulib:
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.