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