.\" (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" This file can be distributed under the terms of the GNU General Public .\" License. .\" Modified Sat Jul 24 17:51:42 1993 by Rik Faith (faith@cs.unc.edu) .TH SYSCONF 3 "April 18, 1993" "GNU" "Linux Programmer's Manual" .SH NAME sysconf \- Get configuration information at runtime .SH SYNOPSIS .nf .B #include .sp .BI "long sysconf(int " "name" ");" .fi .SH DESCRIPTION .B sysconf() provides a way for the application to determine values for system limits or options at runtime. .PP The equivalent macros defined in .B can only give conservative values; if an application wants to take advantage of values which may change, a call to .B sysconf() can be made, which may yield more liberal results. .PP For getting information about a particular file, see .BR fpathconf() " or " pathconf() . .PP The following values are supported for .IR name . First, the POSIX.1 compatible values: .TP .B _SC_ARG_MAX The maximum length of the arguments to the .B exec() family of functions; the corresponding macro is .BR ARG_MAX . .TP .B _SC_CHILD_MAX The number of simultaneous processes per user id, the corresponding macro is .BR _POSIX_CHILD_MAX . .TP .B _SC_CLK_TCK The number of clock ticks per second; the corresponding macro is .BR CLK_TCK . .TP .B _SC_STREAM_MAX The maximum number of streams that a process can have open at any time. The corresponding POSIX macro is .BR STREAM_MAX , the corresponding standard C macro is .BR FOPEN_MAX . .TP .B _SC_TZNAME_MAX The maximum number of bytes in a timezone name, the corresponding macro is .BR TZNAME_MAX . .TP .B _SC_OPEN_MAX The maximum number of files that a process can have open at any time, the corresponding macro is .BR _POSIX_OPEN_MAX . .TP .B _SC_JOB_CONTROL This indicates wether POSIX \- style job control is supported, the corresponding macro is .BR _POSIX_JOB_CONTROL . .TP .B _SC_SAVED_IDS This indicates wether a process has a saved set-user-ID and a saved set-group-ID; the corresponding macro is .BR _POSIX_SAVED_IDS . .TP .B _SC_VERSION indicates the year and month the POSIX.1 standard was approved in the format .BR YYYYMML ; the value .B 199009L indicates the most recent revision, 1990. .PP Next, the POSIX.2 values: .TP .B _SC_BC_BASE_MAX indicates the maximum .I obase value accepted by the .BR bc (1) utility; the corresponding macro is .BR BC_BASE_MAX . .TP .B _SC_BC_DIM_MAX indicates the maximum value of elements permitted in an array by .BR bc (1); the corresponding macro is .BR BC_DIM_MAX . .TP .B _SC_BC_SCALE_MAX indicates the maximum .I scale value allowed by .BR bc (1); the corresponding macro is .BR BC_SCALE_MAX . .TP .B _SC_BC_STRING_MAX indicates the maximum length of a string accepted by .BR bc (1); the corresponding macro is .BR BC_STRING_MAX . .TP .B _SC_COLL_WEIGHTS_MAX indicates the maximum numbers of weights that can be assigned to an entry of the .B LC_COLLATE order keyword in the locale definition file; the corresponding macro is .BR COLL_WEIGHTS_MAX . .TP .B _SC_EXPR_NEST_MAX is the maximum number of expressions which can be nested within parentheses by .BR expr (1). The corresponding macro is .BR EXPR_NEST_MAX . .TP .B _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 .BR LINE_MAX . .TP .B _SC_RE_DUP_MAX The maximum number of repeated occurences of a regular expression when the interval notation .B \e{m,n\e} is used. The value of the corresponding macro is .BR RE_DUP_MAX . .TP .B _SC_2_VERSION indicates the version of the POSIX.2 standard in the format of YYYYMML. The corresponding macro is .BR POSIX2_VERSION . .TP .B _SC_2_DEV indicates wether the POSIX.2 C language development facilities are supported. The corresponding macro is .BR POSIX2_C_DEV . .TP .B _SC_2_FORT_DEV indicates wether the POSIX.2 FORTRAN development utilities are supported. The corresponding macro is .BR POSIX2_FORT_RUN . .TP .B _SC_2_FORT_RUN indicates wether the POSIX.2 FORTRAN runtime utilities are supported. The corresponding macro is .BR POSIX2_FORT_RUN . .TP .B POSIX2_LOCALEDEF indicates wether the POSIX.2 creation of locates via .BR locale (1) is supported. The corresponding macro is .BR POSIX2_LOCALEDEF . .TP .B _SC_2_SW_DEV indicates wether the POSIX.2 software development utilities option is supported. The corresponding macro is .BR POSIX2_SW_DEV . .SH "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 .I errno is not set. .SH "CONFORMS TO" POSIX.1, proposed POSIX.2 .SH "BUGS" It is difficult use .B ARG_MAX because it is not specified how much of the argument space for .B exec() is consumed by the user's environment variables. .PP Some returned values may be huge; they are not suitable for allocating memory. .PP POSIX.2 is not yet an approved standard; the information in this manpage is subject to change. .SH SEE ALSO .BR bc "(1), " expr "(1), " locale "(1), " fpathconf "(3), " pathconf (3)