Pegasus InfoCorp: Web site design and web software development company

SYSCONF (3)

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 compatible 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 corresponding macro is _POSIX_CHILD_MAX .

    _SC_CLK_TCK

      The number of clock ticks per second; the corresponding macro is CLK_TCK .

    _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 corresponding standard C macro is FOPEN_MAX .

    _SC_TZNAME_MAX

      The maximum number of bytes in a timezone name, the corresponding 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 _POSIX_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 most recent revision, 1990.

    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 corresponding 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 definition 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 trailing newline. The corresponding macro is LINE_MAX .

    _SC_RE_DUP_MAX

      The maximum number of repeated occurrences of a regular expression when the interval notation \e{m,n\e} 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 supported. 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 possible 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

    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 errno is not set.

CONFORMING TO

    POSIX.1, proposed POSIX.2

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.

    POSIX.2 is not yet an approved standard; the information in this manpage is subject to change.

SEE ALSO