👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

Linux 2.6 - man page for limits.h (linux section 7posix)

<limits.h>(P)			    POSIX Programmer's Manual			    <limits.h>(P)

NAME
       limits.h - implementation-defined constants

SYNOPSIS
       #include <limits.h>

DESCRIPTION
       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.

       Many of the symbols listed here are not defined by the  ISO/IEC 9899:1999  standard.  Such
       symbols are not shown as CX shaded.

       The  <limits.h>	header shall define various symbolic names. Different categories of names
       are described below.

       The names represent various limits on resources that the implementation imposes on  appli-
       cations.

       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 <unistd.h> .

       Applications should not assume any particular value for a limit. To achieve maximum porta-
       bility, 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  <limits.h>  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:

	* The limit is pathname-dependent.

	* The limit differs between the compile and runtime machines.

       For these reasons, an application may use the fpathconf(), pathconf(), and sysconf() func-
       tions to determine the actual value of a limit at runtime.

       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 <limits.h> header on the  imple-
       mentation,  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.

   Runtime Invariant Values (Possibly Indeterminate)
       A  definition  of  one  of  the symbolic names in the following list shall be omitted from
       <limits.h> on specific implementations where  the  corresponding  value	is  equal  to  or
       greater than the stated minimum, but is unspecified.

       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 sysconf() function.

       {AIO_LISTIO_MAX}

	      Maximum  number of I/O operations in a single list I/O call supported by the imple-
	      mentation.
	      Minimum Acceptable Value: {_POSIX_AIO_LISTIO_MAX}

       {AIO_MAX}

	      Maximum number of outstanding asynchronous I/O operations supported by  the  imple-
	      mentation.
	      Minimum Acceptable Value: {_POSIX_AIO_MAX}

       {AIO_PRIO_DELTA_MAX}

	      The  maximum  amount  by which a process can decrease its asynchronous I/O priority
	      level from its own scheduling priority.
	      Minimum Acceptable Value: 0

       {ARG_MAX}
	      Maximum length of argument to the exec functions including environment data.
	      Minimum Acceptable Value: {_POSIX_ARG_MAX}

       {ATEXIT_MAX}

	      Maximum number of functions that may be registered with atexit().
	      Minimum Acceptable Value: 32

       {CHILD_MAX}
	      Maximum number of simultaneous processes per real user ID.
	      Minimum Acceptable Value: {_POSIX_CHILD_MAX}

       {DELAYTIMER_MAX}

	      Maximum number of timer expiration overruns.
	      Minimum Acceptable Value: {_POSIX_DELAYTIMER_MAX}

       {HOST_NAME_MAX}
	      Maximum length of a host name (not including the terminating null) as returned from
	      the gethostname() function.
	      Minimum Acceptable Value: {_POSIX_HOST_NAME_MAX}

       {IOV_MAX}

	      Maximum  number  of  iovec  structures  that one process has available for use with
	      readv() or writev().
	      Minimum Acceptable Value: {_XOPEN_IOV_MAX}

       {LOGIN_NAME_MAX}
	      Maximum length of a login name.
	      Minimum Acceptable Value: {_POSIX_LOGIN_NAME_MAX}

       {MQ_OPEN_MAX}

	      The maximum number of open message queue descriptors a process may hold.
	      Minimum Acceptable Value: {_POSIX_MQ_OPEN_MAX}

       {MQ_PRIO_MAX}

	      The maximum number of message priorities supported by the implementation.
	      Minimum Acceptable Value: {_POSIX_MQ_PRIO_MAX}

       {OPEN_MAX}
	      Maximum number of files that one process can have open at any one time.
	      Minimum Acceptable Value: {_POSIX_OPEN_MAX}

       {PAGESIZE}
	      Size in bytes of a page.
	      Minimum Acceptable Value: 1

       {PAGE_SIZE}

	      Equivalent to {PAGESIZE}. If either {PAGESIZE} or {PAGE_SIZE} is defined, the other
	      is defined with the same value.

       {PTHREAD_DESTRUCTOR_ITERATIONS}

	      Maximum  number  of attempts made to destroy a thread's thread-specific data values
	      on thread exit.
	      Minimum Acceptable Value: {_POSIX_THREAD_DESTRUCTOR_ITERATIONS}

       {PTHREAD_KEYS_MAX}

	      Maximum number of data keys that can be created by a process.
	      Minimum Acceptable Value: {_POSIX_THREAD_KEYS_MAX}

       {PTHREAD_STACK_MIN}

	      Minimum size in bytes of thread stack storage.
	      Minimum Acceptable Value: 0

       {PTHREAD_THREADS_MAX}

	      Maximum number of threads that can be created per process.
	      Minimum Acceptable Value: {_POSIX_THREAD_THREADS_MAX}

       {RE_DUP_MAX}
	      The number of repeated occurrences of a BRE permitted by	the  regexec()	and  reg-
	      comp()  functions when using the interval notation {\(m,n\}; see BREs Matching Mul-
	      tiple Characters .
	      Minimum Acceptable Value: {_POSIX2_RE_DUP_MAX}

       {RTSIG_MAX}

	      Maximum number of realtime signals reserved for application use in this implementa-
	      tion.
	      Minimum Acceptable Value: {_POSIX_RTSIG_MAX}

       {SEM_NSEMS_MAX}

	      Maximum number of semaphores that a process may have.
	      Minimum Acceptable Value: {_POSIX_SEM_NSEMS_MAX}

       {SEM_VALUE_MAX}

	      The maximum value a semaphore may have.
	      Minimum Acceptable Value: {_POSIX_SEM_VALUE_MAX}

       {SIGQUEUE_MAX}

	      Maximum  number  of  queued signals that a process may send and have pending at the
	      receiver(s) at any time.
	      Minimum Acceptable Value: {_POSIX_SIGQUEUE_MAX}

       {SS_REPL_MAX}

	      The maximum number of replenishment operations that may be  simultaneously  pending
	      for a particular sporadic server scheduler.
	      Minimum Acceptable Value: {_POSIX_SS_REPL_MAX}

       {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 <stdio.h> ).
	      Minimum Acceptable Value: {_POSIX_STREAM_MAX}

       {SYMLOOP_MAX}
	      Maximum number of symbolic links that can be reliably traversed in  the  resolution
	      of a pathname in the absence of a loop.
	      Minimum Acceptable Value: {_POSIX_SYMLOOP_MAX}

       {TIMER_MAX}

	      Maximum number of timers per process supported by the implementation.
	      Minimum Acceptable Value: {_POSIX_TIMER_MAX}

       {TRACE_EVENT_NAME_MAX}

	      Maximum length of the trace event name.
	      Minimum Acceptable Value: {_POSIX_TRACE_EVENT_NAME_MAX}

       {TRACE_NAME_MAX}

	      Maximum length of the trace generation version string or of the trace stream name.
	      Minimum Acceptable Value: {_POSIX_TRACE_NAME_MAX}

       {TRACE_SYS_MAX}

	      Maximum number of trace streams that may simultaneously exist in the system.
	      Minimum Acceptable Value: {_POSIX_TRACE_SYS_MAX}

       {TRACE_USER_EVENT_MAX}

	      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.
	      Minimum Acceptable Value: {_POSIX_TRACE_USER_EVENT_MAX}

       {TTY_NAME_MAX}
	      Maximum length of terminal device name.
	      Minimum Acceptable Value: {_POSIX_TTY_NAME_MAX}

       {TZNAME_MAX}
	      Maximum  number  of bytes supported for the name of a timezone (not of the TZ vari-
	      able).
	      Minimum Acceptable Value: {_POSIX_TZNAME_MAX}

       Note:  The length given by {TZNAME_MAX} does not include the quoting characters	mentioned
	      in Other Environment Variables .

   Pathname Variable Values
       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.

       A  definition of one of the values shall be omitted from the <limits.h> header on specific
       implementations where the corresponding value is equal to or greater than the stated mini-
       mum, 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 pathconf() function.

       {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.
	      Minimum Acceptable Value: 32

       {LINK_MAX}
	      Maximum number of links to a single file.
	      Minimum Acceptable Value: {_POSIX_LINK_MAX}

       {MAX_CANON}
	      Maximum number of bytes in a terminal canonical input line.
	      Minimum Acceptable Value: {_POSIX_MAX_CANON}

       {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.
	      Minimum Acceptable Value: {_POSIX_MAX_INPUT}

       {NAME_MAX}
	      Maximum number of bytes in a filename (not including terminating null).
	      Minimum Acceptable Value: {_POSIX_NAME_MAX}
	      Minimum Acceptable Value: {_XOPEN_NAME_MAX}

       {PATH_MAX}
	      Maximum number of bytes in a pathname, including the terminating null character.
	      Minimum Acceptable Value: {_POSIX_PATH_MAX}
	      Minimum Acceptable Value: {_XOPEN_PATH_MAX}

       {PIPE_BUF}
	      Maximum number of bytes that is guaranteed to be atomic when writing to a pipe.
	      Minimum Acceptable Value: {_POSIX_PIPE_BUF}

       {POSIX_ALLOC_SIZE_MIN}

	      Minimum number of bytes of storage actually allocated for any portion of a file.
	      Minimum Acceptable Value: Not specified.

       {POSIX_REC_INCR_XFER_SIZE}

	      Recommended increment for file transfer sizes between the {POSIX_REC_MIN_XFER_SIZE}
	      and {POSIX_REC_MAX_XFER_SIZE} values.
	      Minimum Acceptable Value: Not specified.

       {POSIX_REC_MAX_XFER_SIZE}

	      Maximum recommended file transfer size.
	      Minimum Acceptable Value: Not specified.

       {POSIX_REC_MIN_XFER_SIZE}

	      Minimum recommended file transfer size.
	      Minimum Acceptable Value: Not specified.

       {POSIX_REC_XFER_ALIGN}

	      Recommended file transfer buffer alignment.
	      Minimum Acceptable Value: Not specified.

       {SYMLINK_MAX}
	      Maximum number of bytes in a symbolic link.
	      Minimum Acceptable Value: {_POSIX_SYMLINK_MAX}

   Runtime Increasable Values
       The magnitude limitations in the following list shall be  fixed	by  specific  implementa-
       tions.  An  application	should assume that the value supplied by <limits.h> 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 <limits.h> for that implementation.  The  actual  value  sup-
       ported by a specific instance shall be provided by the sysconf() function.

       {BC_BASE_MAX}
	      Maximum obase values allowed by the bc utility.
	      Minimum Acceptable Value: {_POSIX2_BC_BASE_MAX}

       {BC_DIM_MAX}
	      Maximum number of elements permitted in an array by the bc utility.
	      Minimum Acceptable Value: {_POSIX2_BC_DIM_MAX}

       {BC_SCALE_MAX}
	      Maximum scale value allowed by the bc utility.
	      Minimum Acceptable Value: {_POSIX2_BC_SCALE_MAX}

       {BC_STRING_MAX}
	      Maximum length of a string constant accepted by the bc utility.
	      Minimum Acceptable Value: {_POSIX2_BC_STRING_MAX}

       {CHARCLASS_NAME_MAX}
	      Maximum number of bytes in a character class name.
	      Minimum Acceptable Value: {_POSIX2_CHARCLASS_NAME_MAX}

       {COLL_WEIGHTS_MAX}
	      Maximum  number of weights that can be assigned to an entry of the LC_COLLATE order
	      keyword in the locale definition file; see Locale .
	      Minimum Acceptable Value: {_POSIX2_COLL_WEIGHTS_MAX}

       {EXPR_NEST_MAX}
	      Maximum number of expressions that can be nested within  parentheses  by	the  expr
	      utility.
	      Minimum Acceptable Value: {_POSIX2_EXPR_NEST_MAX}

       {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  process-
	      ing text files. The length includes room for the trailing <newline>.
	      Minimum Acceptable Value: {_POSIX2_LINE_MAX}

       {NGROUPS_MAX}
	      Maximum number of simultaneous supplementary group IDs per process.
	      Minimum Acceptable Value: {_POSIX_NGROUPS_MAX}

       {RE_DUP_MAX}
	      Maximum number of repeated occurrences of a regular expression permitted when using
	      the interval notation \{m,n\}; see Regular Expressions .
	      Minimum Acceptable Value: {_POSIX2_RE_DUP_MAX}

   Maximum Values
       The symbolic constants in the following list shall be defined in <limits.h> with the  val-
       ues 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.

       {_POSIX_CLOCKRES_MIN}

	      The resolution of the CLOCK_REALTIME clock, in nanoseconds.
	      Value: 20 000 000

       If the Monotonic Clock option is supported, the resolution of the  CLOCK_MONOTONIC  clock,
       in nanoseconds, is represented by {_POSIX_CLOCKRES_MIN}.

   Minimum Values
       The  symbolic constants in the following list shall be defined in <limits.h> with the val-
       ues 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 con-
       stants 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.

       {_POSIX_AIO_LISTIO_MAX}

	      The number of I/O operations that can be specified in a list I/O call.
	      Value: 2

       {_POSIX_AIO_MAX}

	      The number of outstanding asynchronous I/O operations.
	      Value: 1

       {_POSIX_ARG_MAX}
	      Maximum length of argument to the exec functions including environment data.
	      Value: 4 096

       {_POSIX_CHILD_MAX}
	      Maximum number of simultaneous processes per real user ID.
	      Value: 25

       {_POSIX_DELAYTIMER_MAX}

	      The number of timer expiration overruns.
	      Value: 32

       {_POSIX_HOST_NAME_MAX}
	      Maximum length of a host name (not including the terminating null) as returned from
	      the gethostname() function.
	      Value: 255

       {_POSIX_LINK_MAX}
	      Maximum number of links to a single file.
	      Value: 8

       {_POSIX_LOGIN_NAME_MAX}
	      The size of the storage required for a login name, in bytes, including  the  termi-
	      nating null.
	      Value: 9

       {_POSIX_MAX_CANON}
	      Maximum number of bytes in a terminal canonical input queue.
	      Value: 255

       {_POSIX_MAX_INPUT}
	      Maximum number of bytes allowed in a terminal input queue.
	      Value: 255

       {_POSIX_MQ_OPEN_MAX}

	      The number of message queues that can be open for a single process.
	      Value: 8

       {_POSIX_MQ_PRIO_MAX}

	      The maximum number of message priorities supported by the implementation.
	      Value: 32

       {_POSIX_NAME_MAX}
	      Maximum number of bytes in a filename (not including terminating null).
	      Value: 14

       {_POSIX_NGROUPS_MAX}
	      Maximum number of simultaneous supplementary group IDs per process.
	      Value: 8

       {_POSIX_OPEN_MAX}
	      Maximum number of files that one process can have open at any one time.
	      Value: 20

       {_POSIX_PATH_MAX}
	      Maximum number of bytes in a pathname.
	      Value: 256

       {_POSIX_PIPE_BUF}
	      Maximum number of bytes that is guaranteed to be atomic when writing to a pipe.
	      Value: 512

       {_POSIX_RE_DUP_MAX}
	      The  number  of  repeated  occurrences of a BRE permitted by the regexec() and reg-
	      comp() functions when using the interval notation {\(m,n\}; see BREs Matching  Mul-
	      tiple Characters .
	      Value: 255

       {_POSIX_RTSIG_MAX}

	      The number of realtime signal numbers reserved for application use.
	      Value: 8

       {_POSIX_SEM_NSEMS_MAX}

	      The number of semaphores that a process may have.
	      Value: 256

       {_POSIX_SEM_VALUE_MAX}

	      The maximum value a semaphore may have.
	      Value: 32 767

       {_POSIX_SIGQUEUE_MAX}

	      The  number  of  queued  signals	that  a  process may send and have pending at the
	      receiver(s) at any time.
	      Value: 32

       {_POSIX_SSIZE_MAX}
	      The value that can be stored in an object of type ssize_t.
	      Value: 32 767

       {_POSIX_STREAM_MAX}
	      The number of streams that one process can have open at one time.
	      Value: 8

       {_POSIX_SS_REPL_MAX}

	      The number of replenishment operations that may be  simultaneously  pending  for	a
	      particular sporadic server scheduler.
	      Value: 4

       {_POSIX_SYMLINK_MAX}
	      The number of bytes in a symbolic link.
	      Value: 255

       {_POSIX_SYMLOOP_MAX}
	      The  number of symbolic links that can be traversed in the resolution of a pathname
	      in the absence of a loop.
	      Value: 8

       {_POSIX_THREAD_DESTRUCTOR_ITERATIONS}

	      The number of attempts made to destroy a thread's thread-specific  data  values  on
	      thread exit.
	      Value: 4

       {_POSIX_THREAD_KEYS_MAX}

	      The number of data keys per process.
	      Value: 128

       {_POSIX_THREAD_THREADS_MAX}

	      The number of threads per process.
	      Value: 64

       {_POSIX_TIMER_MAX}

	      The per-process number of timers.
	      Value: 32

       {_POSIX_TRACE_EVENT_NAME_MAX}

	      The length in bytes of a trace event name.
	      Value: 30

       {_POSIX_TRACE_NAME_MAX}

	      The length in bytes of a trace generation version string or a trace stream name.
	      Value: 8

       {_POSIX_TRACE_SYS_MAX}

	      The number of trace streams that may simultaneously exist in the system.
	      Value: 8

       {_POSIX_TRACE_USER_EVENT_MAX}

	      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.
	      Value: 32

       {_POSIX_TTY_NAME_MAX}
	      The  size  of  the storage required for a terminal device name, in bytes, including
	      the terminating null.
	      Value: 9

       {_POSIX_TZNAME_MAX}
	      Maximum number of bytes supported for the name of a timezone (not of the	TZ  vari-
	      able).
	      Value: 6

       Note:
	      The  length  given  by  {_POSIX_TZNAME_MAX} does not include the quoting characters
	      mentioned in Other Environment Variables .

       {_POSIX2_BC_BASE_MAX}
	      Maximum obase values allowed by the bc utility.
	      Value: 99

       {_POSIX2_BC_DIM_MAX}
	      Maximum number of elements permitted in an array by the bc utility.
	      Value: 2 048

       {_POSIX2_BC_SCALE_MAX}
	      Maximum scale value allowed by the bc utility.
	      Value: 99

       {_POSIX2_BC_STRING_MAX}
	      Maximum length of a string constant accepted by the bc utility.
	      Value: 1 000

       {_POSIX2_CHARCLASS_NAME_MAX}
	      Maximum number of bytes in a character class name.
	      Value: 14

       {_POSIX2_COLL_WEIGHTS_MAX}
	      Maximum number of weights that can be assigned to an entry of the LC_COLLATE  order
	      keyword in the locale definition file; see Locale .
	      Value: 2

       {_POSIX2_EXPR_NEST_MAX}
	      Maximum  number  of  expressions	that can be nested within parentheses by the expr
	      utility.
	      Value: 32

       {_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 process-
	      ing text files. The length includes room for the trailing <newline>.
	      Value: 2 048

       {_POSIX2_RE_DUP_MAX
	      Maximum number of repeated occurrences of a regular expression permitted when using
	      the interval notation \{m,n\}; see Regular Expressions .
	      Value: 255

       {_XOPEN_IOV_MAX}

	      Maximum  number  of  iovec  structures  that one process has available for use with
	      readv() or writev().
	      Value: 16

       {_XOPEN_NAME_MAX}

	      Maximum number of bytes in a filename (not including the terminating null).
	      Value: 255

       {_XOPEN_PATH_MAX}

	      Maximum number of bytes in a pathname.
	      Value: 1024

   Numerical Limits
       The values in the following lists shall be defined in <limits.h> and are constant  expres-
       sions  suitable	for use in #if 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.

       If  the	value  of  an  object of type char 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}.

       {CHAR_BIT}
	      Number of bits in a type char.
	      Value: 8

       {CHAR_MAX}
	      Maximum value of type char.
	      Value: {UCHAR_MAX} or {SCHAR_MAX}

       {CHAR_MIN}
	      Minimum value of type char.
	      Value: {SCHAR_MIN} or 0

       {INT_MAX}
	      Maximum value of an int.
	      Minimum Acceptable Value: 2 147 483 647

       {LONG_BIT}

	      Number of bits in a long.
	      Minimum Acceptable Value: 32

       {LONG_MAX}
	      Maximum value of a long.
	      Minimum Acceptable Value: +2 147 483 647

       {MB_LEN_MAX}
	      Maximum number of bytes in a character, for any supported locale.
	      Minimum Acceptable Value: 1

       {SCHAR_MAX}
	      Maximum value of type signed char.
	      Value: +127

       {SHRT_MAX}
	      Maximum value of type short.
	      Minimum Acceptable Value: +32 767

       {SSIZE_MAX}
	      Maximum value of an object of type ssize_t.
	      Minimum Acceptable Value: {_POSIX_SSIZE_MAX}

       {UCHAR_MAX}
	      Maximum value of type unsigned char.
	      Value: 255

       {UINT_MAX}
	      Maximum value of type unsigned.
	      Minimum Acceptable Value: 4 294 967 295

       {ULONG_MAX}
	      Maximum value of type unsigned long.
	      Minimum Acceptable Value: 4 294 967 295

       {USHRT_MAX}
	      Maximum value for a type unsigned short.
	      Minimum Acceptable Value: 65 535

       {WORD_BIT}

	      Number of bits in a word or type int.
	      Minimum Acceptable Value: 16

       {INT_MIN}
	      Minimum value of type int.
	      Maximum Acceptable Value: -2 147 483 647

       {LONG_MIN}
	      Minimum value of type long.
	      Maximum Acceptable Value: -2 147 483 647

       {SCHAR_MIN}
	      Minimum value of type signed char.
	      Value: -128

       {SHRT_MIN}
	      Minimum value of type short.
	      Maximum Acceptable Value: -32 767

       {LLONG_MIN}
	      Minimum value of type long long.
	      Maximum Acceptable Value: -9223372036854775807

       {LLONG_MAX}
	      Maximum value of type long long.
	      Minimum Acceptable Value: +9223372036854775807

       {ULLONG_MAX}
	      Maximum value of type unsigned long long.
	      Minimum Acceptable Value: 18446744073709551615

   Other Invariant Values
       The following constants shall be defined on all implementations in <limits.h>:

       {CHARCLASS_NAME_MAX}

	      Maximum number of bytes in a character class name.
	      Minimum Acceptable Value: 14

       {NL_ARGMAX}

	      Maximum value of digit in calls to the printf() and scanf() functions.
	      Minimum Acceptable Value: 9

       {NL_LANGMAX}

	      Maximum number of bytes in a LANG name.
	      Minimum Acceptable Value: 14

       {NL_MSGMAX}

	      Maximum message number.
	      Minimum Acceptable Value: 32 767

       {NL_NMAX}

	      Maximum number of bytes in an N-to-1 collation mapping.
	      Minimum Acceptable Value: No guaranteed value  across  all  conforming  implementa-
	      tions.

       {NL_SETMAX}

	      Maximum set number.
	      Minimum Acceptable Value: 255

       {NL_TEXTMAX}

	      Maximum number of bytes in a message string.
	      Minimum Acceptable Value: {_POSIX2_LINE_MAX}

       {NZERO}

	      Default process priority.
	      Minimum Acceptable Value: 20

       The following sections are informative.

APPLICATION USAGE
       None.

RATIONALE
       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:

	* They	wanted	to  avoid  making any changes to the standard that could break conforming
	  applications, and the requested change could have that effect.

	* 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  implica-
	  tions for access control, file permanence, and transparency.

	* The  original  standard developers had considered the issue of allowing for implementa-
	  tions that did not in general support hard links, and decided that  this  would  reduce
	  consensus on the standard.

       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}.

       {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 appli-
	      cation writers to allocate either {PATH_MAX} or {PATH_MAX}+1 bytes.  The	inconsis-
	      tency  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.

       {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}.

FUTURE DIRECTIONS
       None.

SEE ALSO
       The System Interfaces volume of IEEE Std 1003.1-2001, fpathconf(), pathconf(), sysconf()

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 orig-
       inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group			       2003				    <limits.h>(P)


All times are GMT -4. The time now is 03:33 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password