mirror of https://github.com/mkerrisk/man-pages
1045 lines
27 KiB
Plaintext
1045 lines
27 KiB
Plaintext
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
||
|
.TH "<limits.h>" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
||
|
.\" <limits.h>
|
||
|
.SH NAME
|
||
|
limits.h \- implementation-defined constants
|
||
|
.SH SYNOPSIS
|
||
|
.LP
|
||
|
\fB#include <limits.h>\fP
|
||
|
.SH DESCRIPTION
|
||
|
.LP
|
||
|
Some of the functionality described on this reference page extends
|
||
|
the ISO\ C standard. Applications shall define
|
||
|
the appropriate feature test macro (see the System Interfaces volume
|
||
|
of IEEE\ Std\ 1003.1-2001, Section 2.2, The Compilation Environment)
|
||
|
to enable the visibility of these symbols in this
|
||
|
header.
|
||
|
.LP
|
||
|
Many of the symbols listed here are not defined by the ISO/IEC\ 9899:1999
|
||
|
standard. Such symbols are not shown as CX shaded.
|
||
|
.LP
|
||
|
The \fI<limits.h>\fP header shall define various symbolic names. Different
|
||
|
categories of names are described below.
|
||
|
.LP
|
||
|
The names represent various limits on resources that the implementation
|
||
|
imposes on applications.
|
||
|
.LP
|
||
|
Implementations may choose any appropriate value for each limit, provided
|
||
|
it is not more restrictive than the Minimum Acceptable
|
||
|
Values listed below. Symbolic constant names beginning with _POSIX
|
||
|
may be found in \fI<unistd.h>\fP .
|
||
|
.LP
|
||
|
Applications should not assume any particular value for a limit. To
|
||
|
achieve maximum portability, an application should not
|
||
|
require more resource than the Minimum Acceptable Value quantity.
|
||
|
However, an application wishing to avail itself of the full
|
||
|
amount of a resource available on an implementation may make use of
|
||
|
the value given in \fI<limits.h>\fP on that particular
|
||
|
implementation, by using the symbolic names listed below. It should
|
||
|
be noted, however, that many of the listed limits are not
|
||
|
invariant, and at runtime, the value of the limit may differ from
|
||
|
those given in this header, for the following reasons:
|
||
|
.IP " *" 3
|
||
|
The limit is pathname-dependent.
|
||
|
.LP
|
||
|
.IP " *" 3
|
||
|
The limit differs between the compile and runtime machines.
|
||
|
.LP
|
||
|
.LP
|
||
|
For these reasons, an application may use the \fIfpathconf\fP(), \fIpathconf\fP(),
|
||
|
and \fIsysconf\fP() functions to
|
||
|
determine the actual value of a limit at runtime.
|
||
|
.LP
|
||
|
The items in the list ending in _MIN give the most negative values
|
||
|
that the mathematical types are guaranteed to be capable of
|
||
|
representing. Numbers of a more negative value may be supported on
|
||
|
some implementations, as indicated by the
|
||
|
\fI<limits.h>\fP header on the implementation, but applications requiring
|
||
|
such numbers are not guaranteed to be portable to
|
||
|
all implementations. For positive constants ending in _MIN, this indicates
|
||
|
the minimum acceptable value.
|
||
|
.SS Runtime Invariant Values (Possibly Indeterminate)
|
||
|
.LP
|
||
|
A definition of one of the symbolic names in the following list shall
|
||
|
be omitted from \fI<limits.h>\fP on specific
|
||
|
implementations where the corresponding value is equal to or greater
|
||
|
than the stated minimum, but is unspecified.
|
||
|
.LP
|
||
|
This indetermination might depend on the amount of available memory
|
||
|
space on a specific instance of a specific implementation.
|
||
|
The actual value supported by a specific instance shall be provided
|
||
|
by the \fIsysconf\fP()
|
||
|
function.
|
||
|
.TP 7
|
||
|
{AIO_LISTIO_MAX}
|
||
|
.sp
|
||
|
Maximum number of I/O operations in a single list I/O call supported
|
||
|
by the implementation.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_AIO_LISTIO_MAX}
|
||
|
.TP 7
|
||
|
{AIO_MAX}
|
||
|
.sp
|
||
|
Maximum number of outstanding asynchronous I/O operations supported
|
||
|
by the implementation.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_AIO_MAX}
|
||
|
.TP 7
|
||
|
{AIO_PRIO_DELTA_MAX}
|
||
|
.sp
|
||
|
The maximum amount by which a process can decrease its asynchronous
|
||
|
I/O priority level from its own scheduling priority.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 0
|
||
|
.TP 7
|
||
|
{ARG_MAX}
|
||
|
Maximum length of argument to the \fIexec\fP functions including environment
|
||
|
data.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_ARG_MAX}
|
||
|
.TP 7
|
||
|
{ATEXIT_MAX}
|
||
|
.sp
|
||
|
Maximum number of functions that may be registered with \fIatexit\fP().
|
||
|
.br
|
||
|
Minimum Acceptable Value: 32
|
||
|
.TP 7
|
||
|
{CHILD_MAX}
|
||
|
Maximum number of simultaneous processes per real user ID.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_CHILD_MAX}
|
||
|
.TP 7
|
||
|
{DELAYTIMER_MAX}
|
||
|
.sp
|
||
|
Maximum number of timer expiration overruns.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_DELAYTIMER_MAX}
|
||
|
.TP 7
|
||
|
{HOST_NAME_MAX}
|
||
|
Maximum length of a host name (not including the terminating null)
|
||
|
as returned from the \fIgethostname\fP() function.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_HOST_NAME_MAX}
|
||
|
.TP 7
|
||
|
{IOV_MAX}
|
||
|
.sp
|
||
|
Maximum number of \fBiovec\fP structures that one process has available
|
||
|
for use with \fIreadv\fP() or \fIwritev\fP().
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_XOPEN_IOV_MAX}
|
||
|
.TP 7
|
||
|
{LOGIN_NAME_MAX}
|
||
|
Maximum length of a login name.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_LOGIN_NAME_MAX}
|
||
|
.TP 7
|
||
|
{MQ_OPEN_MAX}
|
||
|
.sp
|
||
|
The maximum number of open message queue descriptors a process may
|
||
|
hold.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_MQ_OPEN_MAX}
|
||
|
.TP 7
|
||
|
{MQ_PRIO_MAX}
|
||
|
.sp
|
||
|
The maximum number of message priorities supported by the implementation.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_MQ_PRIO_MAX}
|
||
|
.TP 7
|
||
|
{OPEN_MAX}
|
||
|
Maximum number of files that one process can have open at any one
|
||
|
time.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_OPEN_MAX}
|
||
|
.TP 7
|
||
|
{PAGESIZE}
|
||
|
Size in bytes of a page.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 1
|
||
|
.TP 7
|
||
|
{PAGE_SIZE}
|
||
|
.sp
|
||
|
Equivalent to {PAGESIZE}. If either {PAGESIZE} or {PAGE_SIZE} is defined,
|
||
|
the other is defined with the same value.
|
||
|
.TP 7
|
||
|
{PTHREAD_DESTRUCTOR_ITERATIONS}
|
||
|
.sp
|
||
|
Maximum number of attempts made to destroy a thread's thread-specific
|
||
|
data values on thread exit.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_THREAD_DESTRUCTOR_ITERATIONS}
|
||
|
.TP 7
|
||
|
{PTHREAD_KEYS_MAX}
|
||
|
.sp
|
||
|
Maximum number of data keys that can be created by a process.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_THREAD_KEYS_MAX}
|
||
|
.TP 7
|
||
|
{PTHREAD_STACK_MIN}
|
||
|
.sp
|
||
|
Minimum size in bytes of thread stack storage.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 0
|
||
|
.TP 7
|
||
|
{PTHREAD_THREADS_MAX}
|
||
|
.sp
|
||
|
Maximum number of threads that can be created per process.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_THREAD_THREADS_MAX}
|
||
|
.TP 7
|
||
|
{RE_DUP_MAX}
|
||
|
The number of repeated occurrences of a BRE permitted by the \fIregexec\fP()
|
||
|
and \fIregcomp\fP() functions when using the interval notation {\\(\fIm\fP,\fIn\fP\\};
|
||
|
see \fIBREs Matching Multiple Characters\fP .
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX2_RE_DUP_MAX}
|
||
|
.TP 7
|
||
|
{RTSIG_MAX}
|
||
|
.sp
|
||
|
Maximum number of realtime signals reserved for application use in
|
||
|
this implementation.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_RTSIG_MAX}
|
||
|
.TP 7
|
||
|
{SEM_NSEMS_MAX}
|
||
|
.sp
|
||
|
Maximum number of semaphores that a process may have.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_SEM_NSEMS_MAX}
|
||
|
.TP 7
|
||
|
{SEM_VALUE_MAX}
|
||
|
.sp
|
||
|
The maximum value a semaphore may have.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_SEM_VALUE_MAX}
|
||
|
.TP 7
|
||
|
{SIGQUEUE_MAX}
|
||
|
.sp
|
||
|
Maximum number of queued signals that a process may send and have
|
||
|
pending at the receiver(s) at any time.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_SIGQUEUE_MAX}
|
||
|
.TP 7
|
||
|
{SS_REPL_MAX}
|
||
|
.sp
|
||
|
The maximum number of replenishment operations that may be simultaneously
|
||
|
pending for a particular sporadic server scheduler.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_SS_REPL_MAX}
|
||
|
.TP 7
|
||
|
{STREAM_MAX}
|
||
|
The number of streams that one process can have open at one time.
|
||
|
If defined, it has the same value as {FOPEN_MAX} (see \fI<stdio.h>\fP
|
||
|
).
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_STREAM_MAX}
|
||
|
.TP 7
|
||
|
{SYMLOOP_MAX}
|
||
|
Maximum number of symbolic links that can be reliably traversed in
|
||
|
the resolution of a pathname in the absence of a loop.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_SYMLOOP_MAX}
|
||
|
.TP 7
|
||
|
{TIMER_MAX}
|
||
|
.sp
|
||
|
Maximum number of timers per process supported by the implementation.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_TIMER_MAX}
|
||
|
.TP 7
|
||
|
{TRACE_EVENT_NAME_MAX}
|
||
|
.sp
|
||
|
Maximum length of the trace event name.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_TRACE_EVENT_NAME_MAX}
|
||
|
.TP 7
|
||
|
{TRACE_NAME_MAX}
|
||
|
.sp
|
||
|
Maximum length of the trace generation version string or of the trace
|
||
|
stream name.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_TRACE_NAME_MAX}
|
||
|
.TP 7
|
||
|
{TRACE_SYS_MAX}
|
||
|
.sp
|
||
|
Maximum number of trace streams that may simultaneously exist in the
|
||
|
system.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_TRACE_SYS_MAX}
|
||
|
.TP 7
|
||
|
{TRACE_USER_EVENT_MAX}
|
||
|
.sp
|
||
|
Maximum number of user trace event type identifiers that may simultaneously
|
||
|
exist in a traced process, including the predefined
|
||
|
user trace event POSIX_TRACE_UNNAMED_USER_EVENT.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_TRACE_USER_EVENT_MAX}
|
||
|
.TP 7
|
||
|
{TTY_NAME_MAX}
|
||
|
Maximum length of terminal device name.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_TTY_NAME_MAX}
|
||
|
.TP 7
|
||
|
{TZNAME_MAX}
|
||
|
Maximum number of bytes supported for the name of a timezone (not
|
||
|
of the \fITZ\fP variable).
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_TZNAME_MAX}
|
||
|
.sp
|
||
|
.TP 7
|
||
|
\fBNote:\fP
|
||
|
The length given by {TZNAME_MAX} does not include the quoting characters
|
||
|
mentioned in \fIOther Environment Variables\fP .
|
||
|
.sp
|
||
|
.SS Pathname Variable Values
|
||
|
.LP
|
||
|
The values in the following list may be constants within an implementation
|
||
|
or may vary from one pathname to another. For
|
||
|
example, file systems or directories may have different characteristics.
|
||
|
.LP
|
||
|
A definition of one of the values shall be omitted from the \fI<limits.h>\fP
|
||
|
header on specific implementations where the
|
||
|
corresponding value is equal to or greater than the stated minimum,
|
||
|
but where the value can vary depending on the file to which it
|
||
|
is applied. The actual value supported for a specific pathname shall
|
||
|
be provided by the \fIpathconf\fP() function.
|
||
|
.TP 7
|
||
|
{FILESIZEBITS}
|
||
|
Minimum number of bits needed to represent, as a signed integer value,
|
||
|
the maximum size of a regular file allowed in the specified
|
||
|
directory.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 32
|
||
|
.TP 7
|
||
|
{LINK_MAX}
|
||
|
Maximum number of links to a single file.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_LINK_MAX}
|
||
|
.TP 7
|
||
|
{MAX_CANON}
|
||
|
Maximum number of bytes in a terminal canonical input line.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_MAX_CANON}
|
||
|
.TP 7
|
||
|
{MAX_INPUT}
|
||
|
Minimum number of bytes for which space is available in a terminal
|
||
|
input queue; therefore, the maximum number of bytes a conforming
|
||
|
application may require to be typed as input before reading them.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_MAX_INPUT}
|
||
|
.TP 7
|
||
|
{NAME_MAX}
|
||
|
Maximum number of bytes in a filename (not including terminating null).
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_NAME_MAX}
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_XOPEN_NAME_MAX}
|
||
|
.TP 7
|
||
|
{PATH_MAX}
|
||
|
Maximum number of bytes in a pathname, including the terminating null
|
||
|
character.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_PATH_MAX}
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_XOPEN_PATH_MAX}
|
||
|
.TP 7
|
||
|
{PIPE_BUF}
|
||
|
Maximum number of bytes that is guaranteed to be atomic when writing
|
||
|
to a pipe.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_PIPE_BUF}
|
||
|
.TP 7
|
||
|
{POSIX_ALLOC_SIZE_MIN}
|
||
|
.sp
|
||
|
Minimum number of bytes of storage actually allocated for any portion
|
||
|
of a file.
|
||
|
.br
|
||
|
Minimum Acceptable Value: Not specified.
|
||
|
.TP 7
|
||
|
{POSIX_REC_INCR_XFER_SIZE}
|
||
|
.sp
|
||
|
Recommended increment for file transfer sizes between the {POSIX_REC_MIN_XFER_SIZE}
|
||
|
and {POSIX_REC_MAX_XFER_SIZE} values.
|
||
|
.br
|
||
|
Minimum Acceptable Value: Not specified.
|
||
|
.TP 7
|
||
|
{POSIX_REC_MAX_XFER_SIZE}
|
||
|
.sp
|
||
|
Maximum recommended file transfer size.
|
||
|
.br
|
||
|
Minimum Acceptable Value: Not specified.
|
||
|
.TP 7
|
||
|
{POSIX_REC_MIN_XFER_SIZE}
|
||
|
.sp
|
||
|
Minimum recommended file transfer size.
|
||
|
.br
|
||
|
Minimum Acceptable Value: Not specified.
|
||
|
.TP 7
|
||
|
{POSIX_REC_XFER_ALIGN}
|
||
|
.sp
|
||
|
Recommended file transfer buffer alignment.
|
||
|
.br
|
||
|
Minimum Acceptable Value: Not specified.
|
||
|
.TP 7
|
||
|
{SYMLINK_MAX}
|
||
|
Maximum number of bytes in a symbolic link.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_SYMLINK_MAX}
|
||
|
.sp
|
||
|
.SS Runtime Increasable Values
|
||
|
.LP
|
||
|
The magnitude limitations in the following list shall be fixed by
|
||
|
specific implementations. An application should assume that
|
||
|
the value supplied by \fI<limits.h>\fP in a specific implementation
|
||
|
is the minimum that pertains whenever the application is
|
||
|
run under that implementation. A specific instance of a specific implementation
|
||
|
may increase the value relative to that supplied by
|
||
|
\fI<limits.h>\fP for that implementation. The actual value supported
|
||
|
by a specific instance shall be provided by the \fIsysconf\fP() function.
|
||
|
.TP 7
|
||
|
{BC_BASE_MAX}
|
||
|
Maximum \fIobase\fP values allowed by the \fIbc\fP utility.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX2_BC_BASE_MAX}
|
||
|
.TP 7
|
||
|
{BC_DIM_MAX}
|
||
|
Maximum number of elements permitted in an array by the \fIbc\fP utility.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX2_BC_DIM_MAX}
|
||
|
.TP 7
|
||
|
{BC_SCALE_MAX}
|
||
|
Maximum \fIscale\fP value allowed by the \fIbc\fP utility.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX2_BC_SCALE_MAX}
|
||
|
.TP 7
|
||
|
{BC_STRING_MAX}
|
||
|
Maximum length of a string constant accepted by the \fIbc\fP utility.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX2_BC_STRING_MAX}
|
||
|
.TP 7
|
||
|
{CHARCLASS_NAME_MAX}
|
||
|
Maximum number of bytes in a character class name.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX2_CHARCLASS_NAME_MAX}
|
||
|
.TP 7
|
||
|
{COLL_WEIGHTS_MAX}
|
||
|
Maximum number of weights that can be assigned to an entry of the
|
||
|
\fILC_COLLATE\fP \fBorder\fP keyword in the locale definition
|
||
|
file; see \fILocale\fP .
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX2_COLL_WEIGHTS_MAX}
|
||
|
.TP 7
|
||
|
{EXPR_NEST_MAX}
|
||
|
Maximum number of expressions that can be nested within parentheses
|
||
|
by the \fIexpr\fP
|
||
|
utility.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX2_EXPR_NEST_MAX}
|
||
|
.TP 7
|
||
|
{LINE_MAX}
|
||
|
Unless otherwise noted, the maximum length, in bytes, of a utility's
|
||
|
input line (either standard input or another file), when the
|
||
|
utility is described as processing text files. The length includes
|
||
|
room for the trailing <newline>.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX2_LINE_MAX}
|
||
|
.TP 7
|
||
|
{NGROUPS_MAX}
|
||
|
Maximum number of simultaneous supplementary group IDs per process.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_NGROUPS_MAX}
|
||
|
.TP 7
|
||
|
{RE_DUP_MAX}
|
||
|
Maximum number of repeated occurrences of a regular expression permitted
|
||
|
when using the interval notation \\{\fIm\fP,\fIn\fP\\};
|
||
|
see \fIRegular Expressions\fP .
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX2_RE_DUP_MAX}
|
||
|
.sp
|
||
|
.SS Maximum Values
|
||
|
.LP
|
||
|
The symbolic constants in the following list shall be defined in \fI<limits.h>\fP
|
||
|
with the values shown. These are symbolic
|
||
|
names for the most restrictive value for certain features on an implementation
|
||
|
supporting the Timers option. A conforming
|
||
|
implementation shall provide values no larger than these values. A
|
||
|
conforming application must not require a smaller value for
|
||
|
correct operation.
|
||
|
.TP 7
|
||
|
{_POSIX_CLOCKRES_MIN}
|
||
|
.sp
|
||
|
The resolution of the CLOCK_REALTIME clock, in nanoseconds.
|
||
|
.br
|
||
|
Value: 20 000 000
|
||
|
.LP
|
||
|
If the Monotonic Clock option is supported, the resolution of the
|
||
|
CLOCK_MONOTONIC clock, in nanoseconds, is represented by
|
||
|
{_POSIX_CLOCKRES_MIN}.
|
||
|
.sp
|
||
|
.SS Minimum Values
|
||
|
.LP
|
||
|
The symbolic constants in the following list shall be defined in \fI<limits.h>\fP
|
||
|
with the values shown. These are
|
||
|
symbolic names for the most restrictive value for certain features
|
||
|
on an implementation conforming to this volume of
|
||
|
IEEE\ Std\ 1003.1-2001. Related symbolic constants are defined elsewhere
|
||
|
in this volume of IEEE\ Std\ 1003.1-2001
|
||
|
which reflect the actual implementation and which need not be as restrictive.
|
||
|
A conforming implementation shall provide values at
|
||
|
least this large. A strictly conforming application must not require
|
||
|
a larger value for correct operation.
|
||
|
.TP 7
|
||
|
{_POSIX_AIO_LISTIO_MAX}
|
||
|
.sp
|
||
|
The number of I/O operations that can be specified in a list I/O call.
|
||
|
.br
|
||
|
Value: 2
|
||
|
.TP 7
|
||
|
{_POSIX_AIO_MAX}
|
||
|
.sp
|
||
|
The number of outstanding asynchronous I/O operations.
|
||
|
.br
|
||
|
Value: 1
|
||
|
.TP 7
|
||
|
{_POSIX_ARG_MAX}
|
||
|
Maximum length of argument to the \fIexec\fP functions including environment
|
||
|
data.
|
||
|
.br
|
||
|
Value: 4 096
|
||
|
.TP 7
|
||
|
{_POSIX_CHILD_MAX}
|
||
|
Maximum number of simultaneous processes per real user ID.
|
||
|
.br
|
||
|
Value: 25
|
||
|
.TP 7
|
||
|
{_POSIX_DELAYTIMER_MAX}
|
||
|
.sp
|
||
|
The number of timer expiration overruns.
|
||
|
.br
|
||
|
Value: 32
|
||
|
.TP 7
|
||
|
{_POSIX_HOST_NAME_MAX}
|
||
|
Maximum length of a host name (not including the terminating null)
|
||
|
as returned from the \fIgethostname\fP() function.
|
||
|
.br
|
||
|
Value: 255
|
||
|
.TP 7
|
||
|
{_POSIX_LINK_MAX}
|
||
|
Maximum number of links to a single file.
|
||
|
.br
|
||
|
Value: 8
|
||
|
.TP 7
|
||
|
{_POSIX_LOGIN_NAME_MAX}
|
||
|
The size of the storage required for a login name, in bytes, including
|
||
|
the terminating null.
|
||
|
.br
|
||
|
Value: 9
|
||
|
.TP 7
|
||
|
{_POSIX_MAX_CANON}
|
||
|
Maximum number of bytes in a terminal canonical input queue.
|
||
|
.br
|
||
|
Value: 255
|
||
|
.TP 7
|
||
|
{_POSIX_MAX_INPUT}
|
||
|
Maximum number of bytes allowed in a terminal input queue.
|
||
|
.br
|
||
|
Value: 255
|
||
|
.TP 7
|
||
|
{_POSIX_MQ_OPEN_MAX}
|
||
|
.sp
|
||
|
The number of message queues that can be open for a single process.
|
||
|
.br
|
||
|
Value: 8
|
||
|
.TP 7
|
||
|
{_POSIX_MQ_PRIO_MAX}
|
||
|
.sp
|
||
|
The maximum number of message priorities supported by the implementation.
|
||
|
.br
|
||
|
Value: 32
|
||
|
.TP 7
|
||
|
{_POSIX_NAME_MAX}
|
||
|
Maximum number of bytes in a filename (not including terminating null).
|
||
|
.br
|
||
|
Value: 14
|
||
|
.TP 7
|
||
|
{_POSIX_NGROUPS_MAX}
|
||
|
Maximum number of simultaneous supplementary group IDs per process.
|
||
|
.br
|
||
|
Value: 8
|
||
|
.TP 7
|
||
|
{_POSIX_OPEN_MAX}
|
||
|
Maximum number of files that one process can have open at any one
|
||
|
time.
|
||
|
.br
|
||
|
Value: 20
|
||
|
.TP 7
|
||
|
{_POSIX_PATH_MAX}
|
||
|
Maximum number of bytes in a pathname.
|
||
|
.br
|
||
|
Value: 256
|
||
|
.TP 7
|
||
|
{_POSIX_PIPE_BUF}
|
||
|
Maximum number of bytes that is guaranteed to be atomic when writing
|
||
|
to a pipe.
|
||
|
.br
|
||
|
Value: 512
|
||
|
.TP 7
|
||
|
{_POSIX_RE_DUP_MAX}
|
||
|
The number of repeated occurrences of a BRE permitted by the \fIregexec\fP()
|
||
|
and \fIregcomp\fP() functions when using the interval notation {\\(\fIm\fP,\fIn\fP\\};
|
||
|
see \fIBREs Matching Multiple Characters\fP .
|
||
|
.br
|
||
|
Value: 255
|
||
|
.TP 7
|
||
|
{_POSIX_RTSIG_MAX}
|
||
|
.sp
|
||
|
The number of realtime signal numbers reserved for application use.
|
||
|
.br
|
||
|
Value: 8
|
||
|
.TP 7
|
||
|
{_POSIX_SEM_NSEMS_MAX}
|
||
|
.sp
|
||
|
The number of semaphores that a process may have.
|
||
|
.br
|
||
|
Value: 256
|
||
|
.TP 7
|
||
|
{_POSIX_SEM_VALUE_MAX}
|
||
|
.sp
|
||
|
The maximum value a semaphore may have.
|
||
|
.br
|
||
|
Value: 32 767
|
||
|
.TP 7
|
||
|
{_POSIX_SIGQUEUE_MAX}
|
||
|
.sp
|
||
|
The number of queued signals that a process may send and have pending
|
||
|
at the receiver(s) at any time.
|
||
|
.br
|
||
|
Value: 32
|
||
|
.TP 7
|
||
|
{_POSIX_SSIZE_MAX}
|
||
|
The value that can be stored in an object of type \fBssize_t\fP.
|
||
|
.br
|
||
|
Value: 32 767
|
||
|
.TP 7
|
||
|
{_POSIX_STREAM_MAX}
|
||
|
The number of streams that one process can have open at one time.
|
||
|
.br
|
||
|
Value: 8
|
||
|
.TP 7
|
||
|
{_POSIX_SS_REPL_MAX}
|
||
|
.sp
|
||
|
The number of replenishment operations that may be simultaneously
|
||
|
pending for a particular sporadic server scheduler.
|
||
|
.br
|
||
|
Value: 4
|
||
|
.TP 7
|
||
|
{_POSIX_SYMLINK_MAX}
|
||
|
The number of bytes in a symbolic link.
|
||
|
.br
|
||
|
Value: 255
|
||
|
.TP 7
|
||
|
{_POSIX_SYMLOOP_MAX}
|
||
|
The number of symbolic links that can be traversed in the resolution
|
||
|
of a pathname in the absence of a loop.
|
||
|
.br
|
||
|
Value: 8
|
||
|
.TP 7
|
||
|
{_POSIX_THREAD_DESTRUCTOR_ITERATIONS}
|
||
|
.sp
|
||
|
The number of attempts made to destroy a thread's thread-specific
|
||
|
data values on thread exit.
|
||
|
.br
|
||
|
Value: 4
|
||
|
.TP 7
|
||
|
{_POSIX_THREAD_KEYS_MAX}
|
||
|
.sp
|
||
|
The number of data keys per process.
|
||
|
.br
|
||
|
Value: 128
|
||
|
.TP 7
|
||
|
{_POSIX_THREAD_THREADS_MAX}
|
||
|
.sp
|
||
|
The number of threads per process.
|
||
|
.br
|
||
|
Value: 64
|
||
|
.TP 7
|
||
|
{_POSIX_TIMER_MAX}
|
||
|
.sp
|
||
|
The per-process number of timers.
|
||
|
.br
|
||
|
Value: 32
|
||
|
.TP 7
|
||
|
{_POSIX_TRACE_EVENT_NAME_MAX}
|
||
|
.sp
|
||
|
The length in bytes of a trace event name.
|
||
|
.br
|
||
|
Value: 30
|
||
|
.TP 7
|
||
|
{_POSIX_TRACE_NAME_MAX}
|
||
|
.sp
|
||
|
The length in bytes of a trace generation version string or a trace
|
||
|
stream name.
|
||
|
.br
|
||
|
Value: 8
|
||
|
.TP 7
|
||
|
{_POSIX_TRACE_SYS_MAX}
|
||
|
.sp
|
||
|
The number of trace streams that may simultaneously exist in the system.
|
||
|
.br
|
||
|
Value: 8
|
||
|
.TP 7
|
||
|
{_POSIX_TRACE_USER_EVENT_MAX}
|
||
|
.sp
|
||
|
The number of user trace event type identifiers that may simultaneously
|
||
|
exist in a traced process, including the predefined user
|
||
|
trace event POSIX_TRACE_UNNAMED_USER_EVENT.
|
||
|
.br
|
||
|
Value: 32
|
||
|
.TP 7
|
||
|
{_POSIX_TTY_NAME_MAX}
|
||
|
The size of the storage required for a terminal device name, in bytes,
|
||
|
including the terminating null.
|
||
|
.br
|
||
|
Value: 9
|
||
|
.TP 7
|
||
|
{_POSIX_TZNAME_MAX}
|
||
|
Maximum number of bytes supported for the name of a timezone (not
|
||
|
of the \fITZ\fP variable).
|
||
|
.br
|
||
|
Value: 6
|
||
|
.TP 7
|
||
|
\fBNote:\fP
|
||
|
.RS
|
||
|
The length given by {_POSIX_TZNAME_MAX} does not include the quoting
|
||
|
characters mentioned in \fIOther Environment Variables\fP .
|
||
|
.RE
|
||
|
.sp
|
||
|
.TP 7
|
||
|
{_POSIX2_BC_BASE_MAX}
|
||
|
Maximum \fIobase\fP values allowed by the \fIbc\fP utility.
|
||
|
.br
|
||
|
Value: 99
|
||
|
.TP 7
|
||
|
{_POSIX2_BC_DIM_MAX}
|
||
|
Maximum number of elements permitted in an array by the \fIbc\fP utility.
|
||
|
.br
|
||
|
Value: 2 048
|
||
|
.TP 7
|
||
|
{_POSIX2_BC_SCALE_MAX}
|
||
|
Maximum \fIscale\fP value allowed by the \fIbc\fP utility.
|
||
|
.br
|
||
|
Value: 99
|
||
|
.TP 7
|
||
|
{_POSIX2_BC_STRING_MAX}
|
||
|
Maximum length of a string constant accepted by the \fIbc\fP utility.
|
||
|
.br
|
||
|
Value: 1 000
|
||
|
.TP 7
|
||
|
{_POSIX2_CHARCLASS_NAME_MAX}
|
||
|
Maximum number of bytes in a character class name.
|
||
|
.br
|
||
|
Value: 14
|
||
|
.TP 7
|
||
|
{_POSIX2_COLL_WEIGHTS_MAX}
|
||
|
Maximum number of weights that can be assigned to an entry of the
|
||
|
\fILC_COLLATE\fP \fBorder\fP keyword in the locale definition
|
||
|
file; see \fILocale\fP .
|
||
|
.br
|
||
|
Value: 2
|
||
|
.TP 7
|
||
|
{_POSIX2_EXPR_NEST_MAX}
|
||
|
Maximum number of expressions that can be nested within parentheses
|
||
|
by the \fIexpr\fP
|
||
|
utility.
|
||
|
.br
|
||
|
Value: 32
|
||
|
.TP 7
|
||
|
{_POSIX2_LINE_MAX}
|
||
|
Unless otherwise noted, the maximum length, in bytes, of a utility's
|
||
|
input line (either standard input or another file), when the
|
||
|
utility is described as processing text files. The length includes
|
||
|
room for the trailing <newline>.
|
||
|
.br
|
||
|
Value: 2 048
|
||
|
.TP 7
|
||
|
{_POSIX2_RE_DUP_MAX
|
||
|
Maximum number of repeated occurrences of a regular expression permitted
|
||
|
when using the interval notation \\{\fIm\fP,\fIn\fP\\};
|
||
|
see \fIRegular Expressions\fP .
|
||
|
.br
|
||
|
Value: 255
|
||
|
.TP 7
|
||
|
{_XOPEN_IOV_MAX}
|
||
|
.sp
|
||
|
Maximum number of \fBiovec\fP structures that one process has available
|
||
|
for use with \fIreadv\fP() or \fIwritev\fP().
|
||
|
.br
|
||
|
Value: 16
|
||
|
.TP 7
|
||
|
{_XOPEN_NAME_MAX}
|
||
|
.sp
|
||
|
Maximum number of bytes in a filename (not including the terminating
|
||
|
null).
|
||
|
.br
|
||
|
Value: 255
|
||
|
.TP 7
|
||
|
{_XOPEN_PATH_MAX}
|
||
|
.sp
|
||
|
Maximum number of bytes in a pathname.
|
||
|
.br
|
||
|
Value: 1024
|
||
|
.sp
|
||
|
.SS Numerical Limits
|
||
|
.LP
|
||
|
The values in the following lists shall be defined in \fI<limits.h>\fP
|
||
|
and are constant expressions suitable for use in
|
||
|
\fB#if\fP preprocessing directives. Moreover, except for {CHAR_BIT},
|
||
|
{DBL_DIG}, {DBL_MAX}, {FLT_DIG}, {FLT_MAX}, {LONG_BIT},
|
||
|
{WORD_BIT}, and {MB_LEN_MAX}, the symbolic names are defined as
|
||
|
expressions of the correct type.
|
||
|
.LP
|
||
|
If the value of an object of type \fBchar\fP is treated as a signed
|
||
|
integer when used in an expression, the value of {CHAR_MIN}
|
||
|
is the same as that of {SCHAR_MIN} and the value of {CHAR_MAX} is
|
||
|
the same as that of {SCHAR_MAX}. Otherwise, the value of
|
||
|
{CHAR_MIN} is 0 and the value of {CHAR_MAX} is the same as that of
|
||
|
{UCHAR_MAX}.
|
||
|
.TP 7
|
||
|
{CHAR_BIT}
|
||
|
Number of bits in a type \fBchar\fP.
|
||
|
.br
|
||
|
Value:
|
||
|
8
|
||
|
.TP 7
|
||
|
{CHAR_MAX}
|
||
|
Maximum value of type \fBchar\fP.
|
||
|
.br
|
||
|
Value: {UCHAR_MAX} or {SCHAR_MAX}
|
||
|
.TP 7
|
||
|
{CHAR_MIN}
|
||
|
Minimum value of type \fBchar\fP.
|
||
|
.br
|
||
|
Value: {SCHAR_MIN} or 0
|
||
|
.TP 7
|
||
|
{INT_MAX}
|
||
|
Maximum value of an \fBint\fP.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 2 147 483 647
|
||
|
.TP 7
|
||
|
{LONG_BIT}
|
||
|
.sp
|
||
|
Number of bits in a \fBlong\fP.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 32
|
||
|
.TP 7
|
||
|
{LONG_MAX}
|
||
|
Maximum value of a \fBlong\fP.
|
||
|
.br
|
||
|
Minimum Acceptable Value: +2 147 483 647
|
||
|
.TP 7
|
||
|
{MB_LEN_MAX}
|
||
|
Maximum number of bytes in a character, for any supported locale.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 1
|
||
|
.TP 7
|
||
|
{SCHAR_MAX}
|
||
|
Maximum value of type \fBsigned char\fP.
|
||
|
.br
|
||
|
Value:
|
||
|
+127
|
||
|
.TP 7
|
||
|
{SHRT_MAX}
|
||
|
Maximum value of type \fBshort\fP.
|
||
|
.br
|
||
|
Minimum Acceptable Value: +32 767
|
||
|
.TP 7
|
||
|
{SSIZE_MAX}
|
||
|
Maximum value of an object of type \fBssize_t\fP.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX_SSIZE_MAX}
|
||
|
.TP 7
|
||
|
{UCHAR_MAX}
|
||
|
Maximum value of type \fBunsigned char\fP.
|
||
|
.br
|
||
|
Value:
|
||
|
255
|
||
|
.TP 7
|
||
|
{UINT_MAX}
|
||
|
Maximum value of type \fBunsigned\fP.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 4 294 967 295
|
||
|
.TP 7
|
||
|
{ULONG_MAX}
|
||
|
Maximum value of type \fBunsigned long\fP.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 4 294 967 295
|
||
|
.TP 7
|
||
|
{USHRT_MAX}
|
||
|
Maximum value for a type \fBunsigned short\fP.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 65 535
|
||
|
.TP 7
|
||
|
{WORD_BIT}
|
||
|
.sp
|
||
|
Number of bits in a word or type \fBint\fP.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 16
|
||
|
.TP 7
|
||
|
{INT_MIN}
|
||
|
Minimum value of type \fBint\fP.
|
||
|
.br
|
||
|
Maximum Acceptable Value: -2 147 483 647
|
||
|
.TP 7
|
||
|
{LONG_MIN}
|
||
|
Minimum value of type \fBlong\fP.
|
||
|
.br
|
||
|
Maximum Acceptable Value: -2 147 483 647
|
||
|
.TP 7
|
||
|
{SCHAR_MIN}
|
||
|
Minimum value of type \fBsigned char\fP.
|
||
|
.br
|
||
|
Value:
|
||
|
-128
|
||
|
.TP 7
|
||
|
{SHRT_MIN}
|
||
|
Minimum value of type \fBshort\fP.
|
||
|
.br
|
||
|
Maximum Acceptable Value: -32 767
|
||
|
.TP 7
|
||
|
{LLONG_MIN}
|
||
|
Minimum value of type \fBlong long\fP.
|
||
|
.br
|
||
|
Maximum Acceptable Value: -9223372036854775807
|
||
|
.TP 7
|
||
|
{LLONG_MAX}
|
||
|
Maximum value of type \fBlong long\fP.
|
||
|
.br
|
||
|
Minimum Acceptable Value: +9223372036854775807
|
||
|
.TP 7
|
||
|
{ULLONG_MAX}
|
||
|
Maximum value of type \fBunsigned long long\fP.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 18446744073709551615
|
||
|
.sp
|
||
|
.SS Other Invariant Values
|
||
|
.LP
|
||
|
The following constants shall be defined on all implementations in
|
||
|
\fI<limits.h>\fP:
|
||
|
.TP 7
|
||
|
{CHARCLASS_NAME_MAX}
|
||
|
.sp
|
||
|
Maximum number of bytes in a character class name.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 14
|
||
|
.TP 7
|
||
|
{NL_ARGMAX}
|
||
|
.sp
|
||
|
Maximum value of \fIdigit\fP in calls to the \fIprintf\fP() and \fIscanf\fP()
|
||
|
functions.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 9
|
||
|
.TP 7
|
||
|
{NL_LANGMAX}
|
||
|
.sp
|
||
|
Maximum number of bytes in a \fILANG\fP name.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 14
|
||
|
.TP 7
|
||
|
{NL_MSGMAX}
|
||
|
.sp
|
||
|
Maximum message number.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 32 767
|
||
|
.TP 7
|
||
|
{NL_NMAX}
|
||
|
.sp
|
||
|
Maximum number of bytes in an N-to-1 collation mapping.
|
||
|
.br
|
||
|
Minimum Acceptable Value: No guaranteed value across all conforming
|
||
|
implementations.
|
||
|
.TP 7
|
||
|
{NL_SETMAX}
|
||
|
.sp
|
||
|
Maximum set number.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 255
|
||
|
.TP 7
|
||
|
{NL_TEXTMAX}
|
||
|
.sp
|
||
|
Maximum number of bytes in a message string.
|
||
|
.br
|
||
|
Minimum Acceptable Value: {_POSIX2_LINE_MAX}
|
||
|
.TP 7
|
||
|
{NZERO}
|
||
|
.sp
|
||
|
Default process priority.
|
||
|
.br
|
||
|
Minimum Acceptable Value: 20
|
||
|
.sp
|
||
|
.LP
|
||
|
\fIThe following sections are informative.\fP
|
||
|
.SH APPLICATION USAGE
|
||
|
.LP
|
||
|
None.
|
||
|
.SH RATIONALE
|
||
|
.LP
|
||
|
A request was made to reduce the value of {_POSIX_LINK_MAX} from the
|
||
|
value of 8 specified for it in the POSIX.1-1990 standard to
|
||
|
2. The standard developers decided to deny this request for several
|
||
|
reasons:
|
||
|
.IP " *" 3
|
||
|
They wanted to avoid making any changes to the standard that could
|
||
|
break conforming applications, and the requested change could
|
||
|
have that effect.
|
||
|
.LP
|
||
|
.IP " *" 3
|
||
|
The use of multiple hard links to a file cannot always be replaced
|
||
|
with use of symbolic links. Symbolic links are semantically
|
||
|
different from hard links in that they associate a pathname with another
|
||
|
pathname rather than a pathname with a file. This has
|
||
|
implications for access control, file permanence, and transparency.
|
||
|
.LP
|
||
|
.IP " *" 3
|
||
|
The original standard developers had considered the issue of allowing
|
||
|
for implementations that did not in general support hard
|
||
|
links, and decided that this would reduce consensus on the standard.
|
||
|
.LP
|
||
|
.LP
|
||
|
Systems that support historical versions of the development option
|
||
|
of the ISO\ POSIX-2 standard retain the name
|
||
|
{_POSIX2_RE_DUP_MAX} as an alias for {_POSIX_RE_DUP_MAX}.
|
||
|
.TP 7
|
||
|
{PATH_MAX}
|
||
|
IEEE PASC Interpretation 1003.1 #15 addressed the inconsistency in
|
||
|
the standard with the definition of pathname and the description
|
||
|
of {PATH_MAX}, allowing application writers to allocate either {PATH_MAX}
|
||
|
or {PATH_MAX}+1 bytes. The inconsistency has been removed
|
||
|
by correction to the {PATH_MAX} definition to include the null character.
|
||
|
With this change, applications that previously allocated
|
||
|
{PATH_MAX} bytes will continue to succeed.
|
||
|
.TP 7
|
||
|
{SYMLINK_MAX}
|
||
|
This symbol refers to space for data that is stored in the file system,
|
||
|
as opposed to {PATH_MAX} which is the length of a name that
|
||
|
can be passed to a function. In some existing implementations, the
|
||
|
filenames pointed to by symbolic links are stored in the inodes
|
||
|
of the links, so it is important that {SYMLINK_MAX} not be constrained
|
||
|
to be as large as {PATH_MAX}.
|
||
|
.sp
|
||
|
.SH FUTURE DIRECTIONS
|
||
|
.LP
|
||
|
None.
|
||
|
.SH SEE ALSO
|
||
|
.LP
|
||
|
The System Interfaces volume of IEEE\ Std\ 1003.1-2001, \fIfpathconf\fP(),
|
||
|
\fIpathconf\fP(), \fIsysconf\fP()
|
||
|
.SH COPYRIGHT
|
||
|
Portions of this text are reprinted and reproduced in electronic form
|
||
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
||
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
||
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
||
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
||
|
event of any discrepancy between this version and the original IEEE and
|
||
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
||
|
is the referee document. The original Standard can be obtained online at
|
||
|
http://www.opengroup.org/unix/online.html .
|