SYSCONF(3) BSD 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 maximum number of streams that a process may have open at any
one time.
_SC_TZNAME_MAX
The maximum length in bytes for the name of a time zone.
_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.
_SC_GETGR_R_SIZE_MAX
Return a suitable buffer size for the getgrnam_r(3) and get-
gruid_r(3) functions, or -1 if those functions are not supported.
_SC_GETPW_R_SIZE_MAX
Return a suitable buffer size for the getpwnam_r(3) and getp-
wuid_r(3) functions, or -1 if those functions are not supported.
_SC_LOGIN_NAME_MAX
Return a suitable buffer size for the getlogin_r(2) function, or
-1 if that function is not supported.
_SC_PAGESIZE
Return the system page size (same as getpagesize(3)).
_SC_THREAD_SAFE_FUNCTIONS
Return 1 if the system supports the ``thread safe functions'', -1
otherwise.
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 ALSOsysctl(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'') and
IEEE Std1003.1-1996 (``POSIX'').
HISTORY
The sysconf function first appeared in 4.4BSD.
4th Berkeley Distribution April 19, 1994 3