limits(5) limits(5)
NAME [Toc] [Back]
limits  implementationspecific constants
SYNOPSIS [Toc] [Back]
#include <limits.h>
DESCRIPTION [Toc] [Back]
The following symbols are defined in <limits.h> and are used
throughout the descriptive text of this manual. The column headed
HPUX Value lists the values that application writers should assume
for portability across all HPUX systems.
Symbols after values are interpreted as follows:
+ Actual limit might be greater than specified value on
certain HPUX systems.
 Actual limit might be less than the specified value on
certain HPUX systems.
= Actual limit is always equal to the specified value and does
not vary across HPUX systems.
* The name of this limit is defined only if the preprocessor
macro _XPG2 is defined, either by the compilation flag
D_XPG2, or by a #define directive in the source before
<limits.h> is included in the source.
# The value defined for this limit might not be a compiletime
constant. The value defined always evaluates to an integer
expression at run time.
Some of these limits vary with system configuration, and can be
determined dynamically by using sysconf(2). Others can vary according
to file system or device associated with a specific file, and can be
determined with pathconf(2). Others are obsolescent because they are
redundant with other limits or not useful in portable applications.
They are provided only for importability of applications from other
systems, to support applications that comply with the X/Open
Portability Guide, Issue 2, and for backward compatibility with
earlier versions of HPUX. The _XPG2 flag should not be defined in
new applications.
By including the <limits.h> file in the compilation an application can
test the appropriate limits to determine whether it can operate on a
particular system, or it might even alter its behavior to match the
system to increase its portability across a varying range of limit
settings and systems.
HewlettPackard Company  1  HPUX 11i Version 2: August 2003
limits(5) limits(5)
Constant Description HPUX Value
ARG_MAX Max length of arguments to 5120 +*
exec(2) in bytes,
including environment data
CHAR_BIT Number of bits in a char 8 =
CHAR_MAX Max integer value of a 127 =
char
CHAR_MIN Min integer value of a 128 =
char
CHILD_MAX Max number of simultaneous 25 +*
processes per user ID
CLK_TCK Number of clock ticks per 50 +#
second
DBL_DIG Digits of precision of a 15 +
double
DBL_MAX Max positive value of a 1.7976931348623157e+308 +
double
DBL_MIN Min positive value of a 4.94065645841246544e324 
double
FCHR_MAX Max file offset in bytes INT_MAX +*
FLT_DIG Digits of precision of a 6 +
float
FLT_MAX Max positive value of a 3.40282346638528860e+38 +
float
FLT_MIN Min positive value of a 1.40129846432481707e45 
float
INT_MAX Max decimal value of an 2147483647 +
int
INT_MIN Min decimal value of an 2147483648 
int
LINE_MAX Max number of characters 2048 =
in a single line
LINK_MAX Max number of links to a 32767 +*
single file
LOCK_MAX Max number of entries in 32 +*
system lock table
LONG_BIT Number of bits in a long 32 +
LONG_MAX Max decimal value of a 2147483647 +
long
LONG_MIN Min decimal value of a 2147483648 
long
MAX_CANON Max number of bytes in 512 +*
terminal canonical input
line
MAX_CHAR Max number of bytes in MAX_INPUT =*
terminal input queue
MAX_INPUT Max number of bytes in 512 +*
terminal input queue
HewlettPackard Company  2  HPUX 11i Version 2: August 2003
limits(5) limits(5)
NAME_MAX Max number of bytes in a 14 +*
path name component
NL_ARGMAX Max value of "digits" in 9 =
calls to the NLS
print
functions
NL_MSGMAX Max message number in an 32767 +
NLS message catalog
NL_SETMAX Max set number in an NLS 255 +
message catalog
NL_TEXTMAX Max number of bytes in an 8192 +
NLS message string
NGROUPS_MAX Max number of 20 +
supplementary groups per
process
OPEN_MAX Max number of files a 60 +*
process can have open
PASS_MAX Max number of chars in a 8 +
password
PATH_MAX Max number of characters 1023 +*
in a path name excluding
the null terminator
PID_MAX Max value for a process ID 30000 +
PIPE_BUF Max number of bytes atomic 8192 +*
in write to a pipe
PIPE_MAX Max number of bytes INT_MAX +
writable to a pipe in one
write
PROC_MAX Max number of simultaneous 84 +*
processes on system
SCHAR_MAX Max integer value of a 127 =
signed char
SCHAR_MIN Min integer value of a 128 =
signed char
SHRT_MAX Max decimal value of a 32767 +
short
SHRT_MIN Min decimal value of a 32768 
short
STD_BLK Number of bytes in a 512 +
physical I/O block
SYSPID_MAX Max process ID of system 4 +*
processes
SYS_NMLN Length of strings returned 8 +*
by uname(2)
SYS_OPEN Max number of files open 120 +*
on system
TMP_MAX Max number of unique names 17576 +
generated by tmpnam(3S)
UCHAR_MAX Max integer value of an 255 =
unsigned char
HewlettPackard Company  3  HPUX 11i Version 2: August 2003
limits(5) limits(5)
UID_MAX Smallest unattainable 2147483647 +
value for a user or group
ID
UINT_MAX Max decimal value of an 4294967295 +
unsigned int
ULONG_MAX Max decimal value of an 4294967295 +
unsigned long
USHRT_MAX Max decimal value of an 65535 +
unsigned short
USI_MAX Max decimal value of an UINT_MAX =*
unsigned int
WORD_BIT Number of bits in a "word" 32 +
(int)
EXAMPLES [Toc] [Back]
UID_MAX has an HPUX value of 2147483647 +, which means that on all
HPUX systems the smallest unattainable value for a user or group ID
is at least 2147483647. A particular system might be capable of
supporting more than 2147483647 user or group IDs, in which case its
<limits.h> file sets UID_MAX to a higher value; however, any
application assuming such a higher value is not guaranteed to be
portable to all HPUX systems.
AUTHOR [Toc] [Back]
limits was developed by HP.
SEE ALSO [Toc] [Back]
exec(2), fcntl(2), fork(2), getgroups(2), link(2), lockf(2), open(2),
pathconf(2), sysconf(2), uname(2), write(2), printf(3S), scanf(3S),
tmpnam(3S), passwd(4), values(5), termio(7).
STANDARDS CONFORMANCE [Toc] [Back]
<limits.h>: AES, SVID3, XPG2, XPG3, XPG4, FIPS 1512, POSIX.1,
POSIX.2, ANSI C
HewlettPackard Company  4  HPUX 11i Version 2: August 2003 [ Back ]
