


sysconf(3C)            C Library Functions            sysconf(3C)



NAME
     sysconf - get configurable system variables

SYNOPSIS
     #include <unistd.h>

     long  sysconf(int _n_a_m_e);

MT-LEVEL
     MT-Safe, Async-Signal-Safe

DESCRIPTION
     The sysconf() function provides a method for an  application
     to  determine  the  current  value  of a configurable system
     limit or option (variable).

     The _n_a_m_e argument  represents  the  system  variable  to  be
     queried.   The following table lists the minimal set of sys-
     tem variables from <limits.h> and  <unistd.h>  that  can  be
     returned  by  sysconf(), and the symbolic constants, defined
     in <unistd.h> that are the  corresponding  values  used  for
     _n_a_m_e.

     _N_a_m_e                    _R_e_t_u_r_n _V_a_l_u_e               _M_e_a_n_i_n_g
     _SC_ARG_MAX             ARG_MAX                    Max size of argv[] plus envp[].
     _SC_CHILD_MAX           CHILD_MAX                  Max processes allowed to a UID.
     _SC_CLK_TCK             CLK_TCK                    Ticks per second (clock_t).
     _SC_NGROUPS_MAX         NGROUPS_MAX                Max simultaneous groups
                                                        to which one may belong.
     _SC_OPEN_MAX            OPEN_MAX                   Max open files per process.
     _SC_PASS_MAX            PASS_MAX
     _SC_PAGESIZE            PAGESIZE                   System memory page size.
     _SC_JOB_CONTROL         _POSIX_JOB_CONTROL         Job control supported?
     _SC_SAVED_IDS           _POSIX_SAVED_IDS           Saved IDs (seteuid()) supported?
     _SC_VERSION             _POSIX_VERSION             POSIX.1 version supported.
     _SC_XOPEN_VERSION       _XOPEN_VERSION
     _SC_LOGNAME_MAX         LOGNAME_MAX
     _SC_NPROCESSORS_CONF                               Number of processors configured.
     _SC_NPROCESSORS_ONLN                               Number of processors online.
     _SC_PHYS_PAGES                                     Total number of pages of
                                                        physical memory in system.
     _SC_AVPHYS_PAGES                                   Number physical memory pages
                                                        not currently in use by system.
     _SC_AIO_LISTIO_MAX      AIO_LISTIO_MAX             Max number of I/O operations
                                                        in a single list I/O call
                                                        supported by implementation.
     _SC_AIO_MAX             AIO_MAX                    Max number of outstanding
                                                        asynchronous I/O operations
                                                        supported by implementation.
     _SC_AIO_PRIO_DELTA_MAX  AIO_PRIO_DELTA_MAX         Max amount by which a process
                                                        can decrease its asynchronous
                                                        /O priority level from its own



SunOS 5.5           Last change: 20 Sep 1995                    1






sysconf(3C)            C Library Functions            sysconf(3C)



                                                        scheduling priority.
     _SC_DELAYTIMER_MAX      DELAYTIMER_MAX             Max number of timer
                                                        expiration overruns.
     _SC_GETGR_R_SIZE_MAX    NSS_BUFLEN_GROUP           Max size of group entry buffer.
     _SC_GETPW_R_SIZE_MAX    NSS_BUFLEN_PASSWD          Max size of password entry buffer.
     _SC_LOGIN_NAME_MAX      LOGNAME_MAX + 1            Max length of login name.
     _SC_MQ_OPEN_MAX         MQ_OPEN_MAX                Max number of open message
                                                        queues a process may hold.
     _SC_MQ_PRIO_MAX         MQ_PRIO_MAX                Max number of message priorities
                                                        supported by implementation.
     _SC_RTSIG_MAX           RTSIG_MAX                  Max number of realtime signals
                                                        reserved for application use
                                                        in this implementation.
     _SC_SEM_NSEMS_MAX       SEM_NSEMS_MAX              Max number of semaphores
                                                        that a process may have.
     _SC_SEM_VALUE_MAX       SEM_VALUE_MAX              Max value a semaphore may have.
     _SC_SIGQUEUE_MAX        SIGQUEUE_MAX               Max number of queued signals
                                                        that a process may send and have
                                                        pending at receiver(s) at a time.
     _SC_TIMER_MAX           TIMER_MAX                  Max number of timers per process
                                                        supported by implementation.
     _SC_ASYNCHRONOUS_IO     _POSIX_ASYNCHRONOUS_IO     Supports Asynchronous I/O.
     _SC_FSYNC               _POSIX_FSYNC               Supports File Synchronization.
     _SC_MAPPED_FILES        _POSIX_MAPPED_FILES        Supports Memory Mapped Files.
     _SC_MEMLOCK             _POSIX_MEMLOCK             Supports Process Memory Locking.
     _SC_MEMLOCK_RANGE       _POSIX_MEMLOCK_RANGE       Supports Range Memory Locking.
     _SC_MEMORY_PROTECTION   _POSIX_MEMORY_PROTECTION   Supports Memory Protection.
     _SC_MESSAGE_PASSING     _POSIX_MESSAGE_PASSING     Supports Message Passing.
     _SC_PRIORITIZED_IO      _POSIX_PRIORITIZED_IO      Supports Prioritized I/O.
     _SC_PRIORITY_SCHEDULING _POSIX_PRIORITY_SCHEDULING Supports Process Scheduling
     _SC_REALTIME_SIGNALS    _POSIX_REALTIME_SIGNALS    Supports Realtime Signals.
     _SC_SEMAPHORES          _POSIX_SEMAPHORES          Supports Semaphores.
     _SC_SHARED_MEMORY_      _POSIX_SHARED_MEMORY_      Supports Shared Memory
         OBJECTS                 OBJECTS                Objects.
     _SC_SYNCHRONIZED_IO     _POSIX_SYNCHRONIZED_IO     Supports Synchronized I/O.
     _SC_TIMERS              _POSIX_TIMERS              Supports Timers.
     _SC_THREAD_DESTRUCTOR_  PTHREAD_DESTRUCTOR_        Number attempts made to destroy
         ITERATIONS              ITERATIONS             thread-specific data on thread exit.
     _SC_THREAD_KEYS_MAX     PTHREAD_KEYS_MAX           Max number of data keys
                                                        per process.
     _SC_THREAD_STACK_MIN    PTHREAD_STACK_MIN          Min byte size of thread
                                                        stack storage.
     _SC_THREAD_THREADS_MAX  PTHREAD_THREADS_MAX        Max number of threads per process.
     _SC_TTY_NAME_MAX        TTYNAME_MAX                Max length of tty device name.
     _SC_THREADS             _POSIX_THREADS             Supports Threads option.
     _SC_THREAD_ATTR_STACKADDR        _POSIX_THREAD_ATTR_STACKADDR
                                        Supports Thread Stack Address Attribute option.
     _SC_THREAD_ATTR_STACKSIZE        _POSIX_THREAD_ATTR_STACKSIZE
                                        Supports Thread Stack Size Attribute option.
     _SC_THREAD_PRIORITY_SCHEDULING   _POSIX_THREAD_PRIORITY_SCHEDULING
                                        Supports Thread Execution Scheduling option.
     _SC_THREAD_PRIO_INHERIT          _POSIX_THREAD_PRIO_INHERIT



SunOS 5.5           Last change: 20 Sep 1995                    2






sysconf(3C)            C Library Functions            sysconf(3C)



                                        Supports Priority Inheritance option.
     _SC_THREAD_PRIO_PROTECT          _POSIX_THREAD_PRIO_PROTECT
                                        Supports Priority Protection option.
     _SC_THREAD_PROCESS_SHARED        _POSIX_THREAD_PROCESS_SHARED
                                        Supports Process-Shared Synchronization option.
     _SC_THREAD_SAFE_FUNCTIONS        _POSIX_THREAD_SAFE_FUNCTIONS
                                        Supports Thread-Safe Functions option.

RETURN VALUES
     If _n_a_m_e is an invalid value, sysconf() will return  - 1  and
     set  errno to indicate the error.  If sysconf() fails due to
     a value of _n_a_m_e that is not defined on the system, the func-
     tion will return a value of -1 without changing the value of
     errno.

SEE ALSO
     fpathconf(2), seteuid(2), setrlimit(2)

NOTES
     A call to setrlimit() may cause the  value  of  OPEN_MAX  to
     change.

     Multiplying   _SC_PHYS_PAGES    or    _SC_AVPHYS_PAGES    by
     _SC_PAGESIZE  to determine memory amount in bytes can exceed
     the maximum values representable in a long or unsigned long.

     _SC_PHYS_PAGES and _SC_AVPHYS_PAGES are specific to  Solaris
     2.3 and later releases.

     The value of CLK_TCK may be variable and it  should  not  be
     assumed that CLK_TCK is a compile-time constant.

     Calling    sysconf()     with     _SC_THREAD_KEYS_MAX     or
     _SC_THREAD_THREADS_MAX  returns -1, because no maximum limit
     can be determined.  The system supports at least the minimum
     values     defined     by     _POSIX_THREAD_KEYS_MAX     and
     _POSIX_THREAD_THREADS_MAX  and  can  support  higher  values
     depending upon system resources.

     _SC_THREAD_PRIO_INHERIT  and   _SC_THREAD_PRIO_PROTECT   are
     currently  not  supported, so sysconf() with these arguments
     returns -1.













SunOS 5.5           Last change: 20 Sep 1995                    3



