| @node limits.h | |
| @section @file{limits.h} | |
| POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/limits.h.html} | |
| Gnulib module: limits-h or gethostname | |
| @mindex limits-h | |
| @mindex gethostname | |
| Portability problems fixed by Gnulib module @code{limits-h}: | |
| @itemize | |
| @item | |
| The macros @code{LLONG_MIN}, @code{LLONG_MAX}, @code{ULLONG_MAX} are not | |
| defined on some platforms: | |
| older glibc systems (e.g. Fedora 1), AIX 5.1, HP-UX 11, OpenVMS. | |
| @item | |
| The macro @code{MB_LEN_MAX} is not defined on some platforms: | |
| pcc 1.2.0.DEVEL 20220331. | |
| @item | |
| The macros @code{WORD_BIT}, @code{LONG_BIT} are not defined on some platforms: | |
| glibc 2.11 without @code{-D_GNU_SOURCE}, Cygwin, mingw, MSVC 14. | |
| @item | |
| Macros like @code{CHAR_WIDTH} are not defined on some platforms: | |
| glibc 2.24, NetBSD 10.0, many others. | |
| @item | |
| The macros @code{BOOL_MAX} and @code{BOOL_WIDTH} are not defined on | |
| some platforms: | |
| glibc 2.32, many others. | |
| @item | |
| The macro @code{BOOL_MAX} is not defined with some compilers: | |
| clang 15.0.6. | |
| @item | |
| The macro @code{SSIZE_MAX} is not defined on some platforms: | |
| MSVC 14. | |
| @end itemize | |
| Portability problems fixed by Gnulib module @code{gethostname}: | |
| @itemize | |
| @item | |
| The @code{HOST_NAME_MAX} macro is not defined on some platforms: | |
| macOS 11.1, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 5.1, HP-UX 11, Solaris 11.4, Cygwin 1.5.x, mingw, MSVC 14. | |
| @end itemize | |
| Portability problems not fixed by Gnulib: | |
| @itemize | |
| @item | |
| The macro @code{SSIZE_MAX} has the wrong type, | |
| albeit with the correct value: | |
| 32-bit glibc 2.24 (on some architectures), Cygwin 2.5.2. | |
| @end itemize | |
| @mindex pathmax | |
| For @code{PATH_MAX}, Gnulib provides a module @code{pathmax} with a header | |
| file @code{"pathmax.h"}. It defines @code{PATH_MAX} to a constant on | |
| platforms with a file name length limit. | |