Computer Science
SYSCONF(3) Linux Programmer's Manual SYSCONF(3)
NAME
sysconf - Get configuration information at runtime
SYNOPSIS
#include <unistd.h>
long sysconf(int name);
DESCRIPTION
sysconf() provides a way for the application to determine
values for system limits or options at runtime.
The equivalent macros defined in <unistd.h> can only give
conservative values; if an application wants to take
advantage of values which may change, a call to sysconf()
can be made, which may yield more liberal results.
For getting information about a particular file, see
fpathconf() or pathconf().
The following values are supported for name. First, the
POSIX.1 compatible values:
_SC_ARG_MAX
The maximum length of the arguments to the exec()
family of functions; the corresponding macro is
ARG_MAX.
_SC_CHILD_MAX
The number of simultaneous processes per user id,
the corresponding macro is _POSIX_CHILD_MAX.
_SC_CLK_TCK
The number of clock ticks per second; the corre-
sponding macro is CLK_TCK.
_SC_STREAM_MAX
The maximum number of streams that a process can
have open at any time. The corresponding POSIX
macro is STREAM_MAX, the corresponding standard C
macro is FOPEN_MAX.
_SC_TZNAME_MAX
The maximum number of bytes in a timezone name, the
corresponding macro is TZNAME_MAX.
_SC_OPEN_MAX
The maximum number of files that a process can have
open at any time, the corresponding macro is
_POSIX_OPEN_MAX.
_SC_JOB_CONTROL
This indicates whether POSIX - style job control is
supported, the corresponding macro is
_POSIX_JOB_CONTROL.
_SC_SAVED_IDS
This indicates whether a process has a saved set-
user-ID and a saved set-group-ID; the corresponding
macro is _POSIX_SAVED_IDS.
_SC_VERSION
indicates the year and month the POSIX.1 standard
was approved in the format YYYYMML;the value
199009L indicates the most recent revision, 1990.
Next, the POSIX.2 values:
_SC_BC_BASE_MAX
indicates the maximum obase value accepted by the
bc(1) utility; the corresponding macro is
BC_BASE_MAX.
_SC_BC_DIM_MAX
indicates the maximum value of elements permitted
in an array by bc(1); the corresponding macro is
BC_DIM_MAX.
_SC_BC_SCALE_MAX
indicates the maximum scale value allowed by bc(1);
the corresponding macro is BC_SCALE_MAX.
_SC_BC_STRING_MAX
indicates the maximum length of a string accepted
by bc(1); the corresponding macro is BC_STRING_MAX.
_SC_COLL_WEIGHTS_MAX
indicates the maximum numbers of weights that can
be assigned to an entry of the LC_COLLATE order
keyword in the locale definition file; the corre-
sponding macro is COLL_WEIGHTS_MAX.
_SC_EXPR_NEST_MAX
is the maximum number of expressions which can be
nested within parentheses by expr(1). The corre-
sponding macro is EXPR_NEST_MAX.
_SC_LINE_MAX
The maximum length of a utility's input line
length, either from standard input or from a file.
This includes length for a trailing newline. The
corresponding macro is LINE_MAX.
_SC_RE_DUP_MAX
The maximum number of repeated occurrences of a
regular expression when the interval notation
\{m,n\} is used. The value of the corresponding
macro is RE_DUP_MAX.
_SC_2_VERSION
indicates the version of the POSIX.2 standard in
the format of YYYYMML. The corresponding macro is
POSIX2_VERSION.
_SC_2_DEV
indicates whether the POSIX.2 C language develop-
ment facilities are supported. The corresponding
macro is POSIX2_C_DEV.
_SC_2_FORT_DEV
indicates whether the POSIX.2 FORTRAN development
utilities are supported. The corresponding macro
is POSIX2_FORT_RUN.
_SC_2_FORT_RUN
indicates whether the POSIX.2 FORTRAN runtime util-
ities are supported. The corresponding macro is
POSIX2_FORT_RUN.
_SC_2_LOCALEDEF
indicates whether the POSIX.2 creation of locates
via localedef(1) is supported. The corresponding
macro is _POSIX2_LOCALEDEF.
_SC_2_SW_DEV
indicates whether the POSIX.2 software development
utilities option is supported. The corresponding
macro is POSIX2_SW_DEV.
RETURN VALUE
The value returned is the value of the system resource, 1
if a queried option is available, 0 if it is not, or -1 on
error. The variable errno is not set.
CONFORMING TO
POSIX.1, proposed POSIX.2
BUGS
It is difficult to use ARG_MAX because it is not specified
how much of the argument space for exec() is consumed by
the user's environment variables.
Some returned values may be huge; they are not suitable
for allocating memory.
POSIX.2 is not yet an approved standard; the information
in this manpage is subject to change.
SEE ALSO
bc(1), expr(1), locale(1), fpathconf(3), pathconf(3)
GNU April 18, 1993 1
Back to the index