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

FreeBSD Manual Pages

  
 
  

home | help
SYSCONF(3)		   Linux Programmer's Manual		    SYSCONF(3)

NAME
       sysconf - Get configuration information at runtime

SYNOPSIS
       #include	<unistd.h>

       long sysconf(int	name);

DESCRIPTION
       sysconf()  provides  a  way for the application to determine values for
       system limits or	options	at runtime.

       The equivalent macros defined in	<unistd.h> can only give  conservative
       values;	if  an application wants to take advantage of values which may
       change, a call to sysconf() can be made,	which may yield	 more  liberal
       results.

       For  getting  information  about	 a particular file, see	fpathconf() or
       pathconf().

       The following values are	supported for name.  First, the	 POSIX.1  com-
       patible values:

       _SC_ARG_MAX
	      The  maximum  length  of	the  arguments to the exec() family of
	      functions; the corresponding macro is ARG_MAX.

       _SC_CHILD_MAX
	      The number of simultaneous processes per	user  id,  the	corre-
	      sponding macro is	CHILD_MAX.

       _SC_CLK_TCK
	      The  number  of  clock ticks per second; the corresponding macro
	      was CLK_TCK.  This macro is obsolete now.	(Note that  the	 macro
	      CLOCKS_PER_SEC   does   not  give	 information:  it  must	 equal
	      1000000.)

       _SC_STREAM_MAX
	      The maximum number of streams that a process can	have  open  at
	      any time.	 The corresponding POSIX macro is STREAM_MAX, the cor-
	      responding standard C macro is FOPEN_MAX.

       _SC_TZNAME_MAX
	      The maximum number of bytes in a timezone	name, the  correspond-
	      ing macro	is TZNAME_MAX.

       _SC_OPEN_MAX
	      The  maximum number of files that	a process can have open	at any
	      time, the	corresponding macro is OPEN_MAX.

       _SC_JOB_CONTROL
	      This indicates whether POSIX - style job control	is  supported,
	      the corresponding	macro is _POSIX_JOB_CONTROL.

       _SC_SAVED_IDS
	      This  indicates  whether a process has a saved set-user-ID and a
	      saved set-group-ID; the corresponding macro is _POSIX_SAVED_IDS.

       _SC_VERSION
	      indicates	 the  year and month the POSIX.1 standard was approved
	      in the format YYYYMML;the	value 199009L indicates	the Sept. 1990
	      revision.	 The corresponding macro is _POSIX_VERSION.

       Next, the POSIX.2 values:

       _SC_BC_BASE_MAX
	      indicates	the maximum obase value	accepted by the	bc(1) utility;
	      the corresponding	macro is BC_BASE_MAX.

       _SC_BC_DIM_MAX
	      indicates	the maximum value of elements permitted	in an array by
	      bc(1); the corresponding macro is	BC_DIM_MAX.

       _SC_BC_SCALE_MAX
	      indicates	 the  maximum scale value allowed by bc(1); the	corre-
	      sponding macro is	BC_SCALE_MAX.

       _SC_BC_STRING_MAX
	      indicates	the maximum length of a	string accepted	by bc(1);  the
	      corresponding macro is BC_STRING_MAX.

       _SC_COLL_WEIGHTS_MAX
	      indicates	the maximum numbers of weights that can	be assigned to
	      an entry of the LC_COLLATE order keyword in the  locale  defini-
	      tion file; the corresponding macro is COLL_WEIGHTS_MAX.

       _SC_EXPR_NEST_MAX
	      is  the maximum number of	expressions which can be nested	within
	      parentheses   by	 expr(1).    The   corresponding   macro    is
	      EXPR_NEST_MAX.

       _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	trail-
	      ing newline.  The	corresponding macro is LINE_MAX.

       _SC_RE_DUP_MAX
	      The  maximum number of repeated occurrences of a regular expres-
	      sion when	the interval notation \{m,n\} is used.	The  value  of
	      the corresponding	macro is RE_DUP_MAX.

       _SC_2_VERSION
	      indicates	 the  version of the POSIX.2 standard in the format of
	      YYYYMML.	The corresponding macro	is POSIX2_VERSION.

       _SC_2_DEV
	      indicates	whether	the POSIX.2 C language development  facilities
	      are supported.  The corresponding	macro is POSIX2_C_DEV.

       _SC_2_FORT_DEV
	      indicates	 whether the POSIX.2 FORTRAN development utilities are
	      supported.  The corresponding macro is POSIX2_FORT_RUN.

       _SC_2_FORT_RUN
	      indicates	whether	the POSIX.2 FORTRAN runtime utilities are sup-
	      ported.  The corresponding macro is POSIX2_FORT_RUN.

       _SC_2_LOCALEDEF
	      indicates	  whether   the	  POSIX.2   creation  of  locates  via
	      localedef(1)  is	supported.    The   corresponding   macro   is
	      _POSIX2_LOCALEDEF.

       _SC_2_SW_DEV
	      indicates	 whether  the  POSIX.2	software development utilities
	      option is	supported.  The	corresponding macro is	POSIX2_SW_DEV.

       SUSv2 also lists

       _SC_PAGESIZE _SC_PAGE_SIZE
	      The size of a page (in bytes).

       These values also exist,	but may	not be standard.

       _SC_PHYS_PAGES
	      The  number of pages of physical memory.	Note that it is	possi-
	      ble for the product of this value	and the	value of _SC_PAGE_SIZE
	      to overflow.

       _SC_AVPHYS_PAGES
	      The number of currently available	pages of physical memory.

RETURN VALUE
       If name is invalid, -1 is returned, and errno is	set to EINVAL.	Other-
       wise, 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, and the
       variable	errno is not changed.

CONFORMING TO
       POSIX.1.

BUGS
       It is difficult to use ARG_MAX because it is not	specified how much  of
       the  argument  space  for  exec() is consumed by	the user's environment
       variables.

       Some returned values may	be huge; they are not suitable for  allocating
       memory.

SEE ALSO
       bc(1), expr(1), locale(1), fpathconf(3),	pathconf(3)

GNU				  1993-04-18			    SYSCONF(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | CONFORMING TO | BUGS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=sysconf&sektion=3&manpath=Red+Hat+Linux%2fi386+9>

home | help