33.5 Minimum Values for General Capacity Limits

Here are the names for the POSIX minimum upper bounds for the system limit parameters. The significance of these values is that you can safely push to these limits without checking whether the particular system you are using can go that far.

_POSIX_AIO_LISTIO_MAX

The most restrictive limit permitted by POSIX for the maximum number of I/O operations that can be specified in a list I/O call. The value of this constant is 2; thus you can add up to two new entries of the list of outstanding operations.

_POSIX_AIO_MAX

The most restrictive limit permitted by POSIX for the maximum number of outstanding asynchronous I/O operations. The value of this constant is 1. So you cannot expect that you can issue more than one operation and immediately continue with the normal work, receiving the notifications asynchronously.

_POSIX_ARG_MAX

The value of this macro is the most restrictive limit permitted by POSIX for the maximum combined length of the argv and environ arguments that can be passed to the exec functions. Its value is 4096.

_POSIX_CHILD_MAX

The value of this macro is the most restrictive limit permitted by POSIX for the maximum number of simultaneous processes per real user ID. Its value is 6.

_POSIX_NGROUPS_MAX

The value of this macro is the most restrictive limit permitted by POSIX for the maximum number of supplementary group IDs per process. Its value is 0.

_POSIX_OPEN_MAX

The value of this macro is the most restrictive limit permitted by POSIX for the maximum number of files that a single process can have open simultaneously. Its value is 16.

_POSIX_SSIZE_MAX

The value of this macro is the most restrictive limit permitted by POSIX for the maximum value that can be stored in an object of type ssize_t. Its value is 32767.

_POSIX_STREAM_MAX

The value of this macro is the most restrictive limit permitted by POSIX for the maximum number of streams that a single process can have open simultaneously. Its value is 8.

_POSIX_TZNAME_MAX

The value of this macro is the most restrictive limit permitted by POSIX for the maximum length of a time zone abbreviation. Its value is 3.

_POSIX2_RE_DUP_MAX

The value of this macro is the most restrictive limit permitted by POSIX for the numbers used in the ‘\{min,max\}’ construct in a regular expression. Its value is 255.