Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SYSCONF(3)	       FreeBSD Library Functions Manual		    SYSCONF(3)

NAME
     sysconf --	get configurable system	variables

SYNOPSIS
     #include <unistd.h>

     long
     sysconf(int name);

DESCRIPTION
     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 arguments to execve(2) (including the	envi-
	     ronment).

     _SC_CHILD_MAX
	     The maximum number	of simultaneous	processes per user ID.

     _SC_CLK_TCK
	     The number	of clock ticks per second.

     _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
	     time zone.

     _SC_JOB_CONTROL
	     Returns 1 if job control is available on this system, otherwise
	     -1.

     _SC_SAVED_IDS
	     Returns 1 if saved	set-group-ID and saved set-user-ID is avail-
	     able, 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
	     parentheses 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_PAGESIZE
	     The size of a system page in bytes.

     _SC_FSYNC
	     Return 1 if the system supports the File Synchronisation Option,
	     otherwise -1.

     _SC_XOPEN_SHM
	     Return 1 if the system supports the Shared	Memory Option, other-
	     wise -1.

     _SC_SEM_NSEMS_MAX
	     The maximum number	of semaphores in the system or -1 if the sys-
	     tem does not support the Semaphores Option.

     _SC_SEM_VALUE_MAX
	     The maximum value a semaphore may have or -1 if the system	does
	     not support the Semaphores	Option.

     _SC_PHYS_PAGES
	     The number	of pages of physical memory.

     _SC_AVPHYS_PAGES
	     The number	of pages of physical memory not	currently in use by
	     the system.

     _SC_GETGR_R_SIZE_MAX
	     The maximum size of the data buffer for the getgrgid_r() and
	     getgrnam_r() functions.

     _SC_GETPW_R_SIZE_MAX
	     The maximum size of the data buffer for the getpwuid_r() and
	     getpwnam_r() functions.

     _SC_LOGIN_NAME_MAX
	     The maximum length	of a login name.

     _SC_THREAD_SAFE_FUNCTIONS
	     The level of support for thread-safe (re-entrant) functions.

     _SC_NPROCESSORS_CONF
	     The number	of processors configured.

     _SC_NPROCESSORS_ONLN
	     The number	of processors online (capable of running processes).

     _SC_HOST_NAME_MAX
	     The maximum size of a hostname, not counting NULL.

     _SC_MONOTONIC_CLOCK
	     Return the	POSIX version of the implementation of the Monotonic
	     Clock option that this system conforms to,	or -1 if unavailable.

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 func-
     tionality that is not supported, -1 is returned and errno is not modi-
     fied.  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 function sysctl(2).	In addition, the following er-
     ror may be	reported:

     [EINVAL]		The value of the name argument is invalid.

SEE ALSO
     pathconf(2), sysctl(2)

STANDARDS
     The sysconf() function conforms to	IEEE Std 1003.1-1988 ("POSIX.1").  The
     constants _SC_NPROCESSORS_CONF and	_SC_NPROCESSORS_ONLN are not part of
     the standard, but are provided by many systems.

HISTORY
     The sysconf() function first appeared in 4.4BSD.

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.

FreeBSD	13.0			August 11, 2019			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=sysconf&sektion=3&manpath=OpenBSD+6.9>

home | help