SYSCONF(3) MachTen Programmer’s Manual SYSCONF(3)
NAME
sysconf - get configurable system variables
SYNOPSIS
#include <unistd.h>
long
sysconf(int name)
DESCRIPTION
This interface is defined by IEEE Std1003.1-1988
(‘‘POSIX’’). A far more
complete interface is available using sysctl(3).
The sysconf() function provides
a method for applications to determine
the current value of a configurable system limit or option
variable. The
name argument specifies the system variable to be queried.
Symbolic con-
stants for each name value are found in the include file
<unistd.h>.
The available values are as follows:
_SC_ARG_MAX
The maximum bytes of argument to exec(2).
_SC_CHILD_MAX
The maximum number of simultaneous processes per user
id.
_SC_CLK_TCK
Number of micro-seconds per hz tick.
_SC_NGROUPS_MAX
The maximum number of supplemental groups.
_SC_OPEN_MAX
The maximum number of open files per user id.
_SC_STREAM_MAX
The minimum maximum number of streams that a process may
have
open at any one time.
_SC_TZNAME_MAX
The minimum maximum number of types supported for the name
of a
timezone.
_SC_JOB_CONTROL
Return 1 if job control is available on this system,
otherwise
-1.
_SC_SAVED_IDS
Returns 1 if saved set-group and saved set-user ID is
available,
otherwise -1.
_SC_VERSION
The version of ISO/IEC 9945 (POSIX 1003.1) with which the
system
attempts to comply.
_SC_BC_BASE_MAX
The maximum ibase/obase values in the bc(1) utility.
_SC_BC_DIM_MAX
The maximum array size in the bc(1) utility.
_SC_BC_SCALE_MAX
The maximum scale value in the bc(1) utility.
_SC_BC_STRING_MAX
The maximum string length in the bc(1) utility.
_SC_COLL_WEIGHTS_MAX
The maximum number of weights that can be assigned to any
entry
of the LC_COLLATE order keyword in the locale definition
file.
_SC_EXPR_NEST_MAX
The maximum number of expressions that can be nested within
parenthesis by the expr(1) utility.
_SC_LINE_MAX
The maximum length in bytes of a text-processing
utility’s input
line.
_SC_RE_DUP_MAX
The maximum number of repeated occurrences of a regular
expres-
sion permitted when using interval notation.
_SC_2_VERSION
The version of POSIX 1003.2 with which the system attempts
to
comply.
_SC_2_C_BIND
Return 1 if the system’s C-language development
facilities sup-
port the C-Language Bindings Option, otherwise -1.
_SC_2_C_DEV
Return 1 if the system supports the C-Language Development
Utili-
ties Option, otherwise -1.
_SC_2_CHAR_TERM
Return 1 if the system supports at least one terminal type
capa-
ble of all operations described in POSIX 1003.2, otherwise
-1.
_SC_2_FORT_DEV
Return 1 if the system supports the FORTRAN Development
Utilities
Option, otherwise -1.
_SC_2_FORT_RUN
Return 1 if the system supports the FORTRAN Runtime
Utilities Op-
tion, otherwise -1.
_SC_2_LOCALEDEF
Return 1 if the system supports the creation of locales,
other-
wise -1.
_SC_2_SW_DEV
Return 1 if the system supports the Software Development
Utili-
ties Option, otherwise -1.
_SC_2_UPE
Return 1 if the system supports the User Portability
Utilities
Option, otherwise -1.
RETURN VALUES
If the call to sysconf is not successful, -1 is returned and
errno is set
appropriately. Otherwise, if the variable is associated with
functional-
ity that is not supported, -1 is returned and errno is not
modified.
Otherwise, the current variable value is returned.
ERRORS
The sysconf() function may fail and set errno for any of the
errors spec-
ified for the library functions sysctl(3). In addition, the
following
error may be reported:
[EINVAL] The value of the name argument is invalid.
SEE ALSO
sysctl(3)
BUGS
The value for _SC_STREAM_MAX is a minimum maximum, and
required to be the
same as ANSI C’s FOPEN_MAX, so the returned value is a
ridiculously small
and misleading number.
STANDARDS
The sysconf() function conforms to IEEE Std1003.1-1988
(‘‘POSIX’’).
HISTORY
The sysconf function first appeared in 4.4BSD.
4th Berkeley Distribution April 19, 1994 3