sysconf(3C)

来源:互联网 发布:淘宝宝贝主图最佳尺寸 编辑:程序博客网 时间:2024/06/06 15:26

sysconf(3C)

Name

    sysconf– get configurable system variables

Synopsis

    #include <unistd.h>long sysconf(int name);

Description

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

    The name argument represents the system variable to be queried. The following table lists the minimal set of system 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 name on the SPARC and x86 platforms.


        Name                   Return Value               Meaning________________________________________________________________________SC_2_C_BIND            _POSIX2_C_BIND             Supports the C lang-                                                   uage binding option_SC_2_C_DEV             _POSIX2_C_DEV              Supports the C lang-                                                   uage development                                                   utilities option_SC_2_C_VERSION         _POSIX2_C_VERSION          Integer value                                                   indicates version                                                   of ISO POSIX-2                                                   standard (Commands)_SC_2_CHAR_TERM         _POSIX2_CHAR_TERM          Supports at least                                                   one terminal_SC_2_FORT_DEV          _POSIX2_FORT_DEV           Supports FORTRAN                                                   Development                                                   Utilities Option_SC_2_FORT_RUN          _POSIX2_FORT_RUN           Supports FORTRAN                                                   Run-time Utilities                                                   Option_SC_2_LOCALEDEF         _POSIX2_LOCALEDEF          Supports creation                                                   of locales by the                                                   localedef utility_SC_2_SW_DEV            _POSIX2_SW_DEV             Supports Software                                                   Development Utility                                                   Option_SC_2_UPE               _POSIX2_UPE                Supports User                                                   Portability                                                   Utilities Option_SC_2_VERSION           _POSIX2_VERSION            Integer value                                                   indicates version                                                   of ISO POSIX-2                                                   standard (C language                                                   binding)_SC_AIO_LISTIO_MAX      AIO_LISTIO_MAX             Max number of I/O                                                   operations in a                                                   single list I/O call                                                   supported_SC_AIO_MAX             AIO_MAX                    Max number of                                                   outstanding                                                   asynchronous I/O                                                   operations supported_SC_AIO_PRIO_DELTA_MAX  AIO_PRIO_DELTA_MAX         Max amount by which                                                   process can decrease                                                   its asynchronous                                                   I/O priority level                                                   from its own                                                   scheduling priority_SC_ARG_MAX             ARG_MAX                    Max size of argv[]                                                   plus envp[]_SC_ASYNCHRONOUS_IO     _POSIX_ASYNCHRONOUS_IO     Supports                                                   Asynchronous I/O_SC_ATEXIT_MAX          ATEXIT_MAX                 Max number of                                                   functions that can                                                   be registered with                                                   atexit()_SC_AVPHYS_PAGES                                   Number of physical                                                   memory pages not                                                   currently in use by                                                   system_SC_BARRIERS            _POSIX_BARRIERS            Supports Barriers                                                   option_SC_BC_BASE_MAX         BC_BASE_MAX                Maximum obase values                                                   allowed by bc_SC_BC_DIM_MAX          BC_DIM_MAX                 Max number of                                                   elements permitted                                                   in array by bc_SC_BC_SCALE_MAX        BC_SCALE_MAX               Max scale value                                                   allowed by bc_SC_BC_STRING_MAX       BC_STRING_MAX              Max length of string                                                   constant allowed by                                                   bc_SC_CHILD_MAX           CHILD_MAX                  Max processes                                                   allowed to a UID_SC_CLK_TCK             CLK_TCK                    Ticks per second                                                   (clock_t)_SC_CLOCK_SELECTION     _POSIX_CLOCK_SELECTION     Supports Clock                                                    Selection option_SC_COLL_WEIGHTS_MAX    COLL_WEIGHTS_MAX           Max number of                                                   weights that can be                                                   assigned to entry of                                                   the LC_COLLATE order                                                   keyword in locale                                                   definition file_SC_CPUID_MAX                                      Max possible                                                    processor ID_SC_DELAYTIMER_MAX      DELAYTIMER_MAX             Max number of timer                                                   expiration overruns_SC_EXPR_NEST_MAX       EXPR_NEST_MAX              Max number of                                                   parentheses by expr_SC_FSYNC               _POSIX_FSYNC               Supports File                                                   Synchronization_SC_GETGR_R_SIZE_MAX                               Max size of group                                                   entry buffer_SC_GETPW_R_SIZE_MAX                               Max size of password                                                   entry buffer_SC_HOST_NAME_MAX       _POSIX_HOST_NAME_MAX       Maximum length of a                                                   host name (excluding                                                   terminating null)_SC_IOV_MAX             IOV_MAX                    Max number of iovec                                                   structures available                                                   to one process for                                                   use with readv()                                                   and writev()_SC_JOB_CONTROL         _POSIX_JOB_CONTROL         Job control                                                   supported?_SC_LINE_MAX            LINE_MAX                   Max length of input                                                   line_SC_LOGIN_NAME_MAX      LOGNAME_MAX + 1            Max length of login                                                   name_SC_LOGNAME_MAX         LOGNAME_MAX_SC_MAPPED_FILES        _POSIX_MAPPED_FILES        Supports Memory                                                   Mapped Files_SC_MAXPID                                         Max pid value_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_MONOTONIC_CLOCK     _POSIX_MONOTONIC_CLOCK     Supports Monotonic                                                   Clock option_SC_MQ_OPEN_MAX         MQ_OPEN_MAX                Max number of open                                                   message queues a                                                   process can hold_SC_MQ_PRIO_MAX         MQ_PRIO_MAX                Max number of                                                   message priorities                                                   supported_SC_NGROUPS_MAX         NGROUPS_MAX                Max simultaneous                                                   groups to which                                                   one can belong_SC_NPROCESSORS_CONF                               Number of processors                                                   configured_SC_NPROCESSORS_MAX                                Max number of                                                   processors supported                                                   by platform_SC_NPROCESSORS_ONLN                               Number of processors                                                   online_SC_OPEN_MAX            OPEN_MAX                   Max open files per                                                   process_SC_PAGESIZE            PAGESIZE                   System memory page                                                   size_SC_PAGE_SIZE           PAGESIZE                   Same as _SC_PAGESIZE_SC_PASS_MAX            PASS_MAX                   Max number of                                                   significant bytes                                                   in a password_SC_PHYS_PAGES                                     Total number of                                                   pages of physical                                                   memory in system_SC_PRIORITIZED_IO      _POSIX_PRIORITIZED_IO      Supports Prioritized                                                   I/O_SC_PRIORITY_SCHEDULING _POSIX_PRIORITY_SCHEDULING Supports Process                                                   Scheduling_SC_RAW_SOCKETS         _POSIX_RAW_SOCKETS         Supports Raw Sockets                                                   option_SC_RE_DUP_MAX          RE_DUP_MAX                 Max number of                                                   repeated occurrences                                                   of a regular                                                   expression permitted                                                   when using interval                                                   notation \{m,n\}_SC_READER_WRITER_LOCKS _POSIX_READER_WRITER_LOCKS Supports IPV6 option_SC_REALTIME_SIGNALS    _POSIX_REALTIME_SIGNALS    Supports Realtime                                                   Signals_SC_REGEXP              _POSIX_REGEXP              Supports Regular                                                   Expression Handling                                                   option_SC_RTSIG_MAX           RTSIG_MAX                  Max number of                                                   realtime signals                                                   reserved for                                                   application use_SC_SAVED_IDS           _POSIX_SAVED_IDS           Saved IDs                                                   (seteuid())                                                   supported?_SC_SEM_NSEMS_MAX       SEM_NSEMS_MAX              Max number of POSIX                                                   semaphores a process                                                   can have_SC_SEM_VALUE_MAX       SEM_VALUE_MAX              Max value a POSIX                                                   semaphore can have_SC_SEMAPHORES          _POSIX_SEMAPHORES          Supports Semaphores_SC_SHARED_MEMORY_      _POSIX_SHARED_MEMORY_      Supports Shared   OBJECTS                 OBJECTS                 Memory Objects_SC_SHELL               _POSIX_SHELL               Supports POSIX shell_SC_SIGQUEUE_MAX        SIGQUEUE_MAX               Max number of queued                                                   signals that a                                                   process can send and                                                   have pending at                                                   receiver(s) at a                                                   time_SC_SPAWN               _POSIX_SPAWN               Supports Spawn option_SC_SPIN_LOCKS          _POSIX_SPIN_LOCKS          Supports Spin Locks                                                   option_SC_STACK_PROT                                     Default stack                                                   protection_SC_STREAM_MAX          STREAM_MAX                 Number of streams                                                   one process can                                                   have open at a time_SC_SYMLOOP_MAX         _POSIX_SYMLOOP_MAX         Max number of symbolic                                                   links that can be                                                   reliably traversed in                                                   the resolution of a                                                   pathname in the absence                                                   of a loop_SC_SYNCHRONIZED_IO     _POSIX_SYNCHRONIZED_IO     Supports                                                   Synchronized I/O_SC_THREAD_ATTR_        _POSIX_THREAD_ATTR_        Supports Thread   STACKADDR               STACKADDR               Stack Address                                                   Attribute option_SC_THREAD_ATTR_        _POSIX_THREAD_ATTR_        Supports Thread   STACKSIZE               STACKSIZE               Stack Size                                                   Attribute option_SC_THREAD_DESTRUCTOR_  PTHREAD_DESTRUCTOR_        Number attempts made   ITERATIONS              ITERATIONS              to destroy thread-                                                   specific data on                                                   thread exit_SC_THREAD_KEYS_MAX     PTHREAD_KEYS_MAX           Max number of data                                                   keys per process_SC_THREAD_PRIO_        _POSIX_THREAD_PRIO_        Supports Priority   INHERIT                 INHERIT                 Inheritance option_SC_THREAD_PRIO_        _POSIX_THREAD_PRIO_        Supports Priority   PROTECT                 PROTECT                 Protection option_SC_THREAD_PRIORITY_    _POSIX_THREAD_PRIORITY_    Supports Thread   SCHEDULING              SCHEDULING              Execution                                                   Scheduling option_SC_THREAD_PROCESS_     _POSIX_THREAD_PROCESS_     Supports   SHARED                  SHARED                  Process-Shared                                                   Synchronization                                                   option_SC_THREAD_SAFE_        _POSIX_THREAD_SAFE_        Supports Thread-Safe   FUNCTIONS               FUNCTIONS               Functions option_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_THREADS             _POSIX_THREADS             Supports Threads                                                   option_SC_TIMEOUTS            _POSIX_TIMEOUTS            Supports Timeouts                                                   option_SC_TIMER_MAX           TIMER_MAX                  Max number of timer                                                   per process                                                   supported_SC_TIMERS              _POSIX_TIMERS              Supports Timers_SC_TTY_NAME_MAX        TTYNAME_MAX                Max length of tty                                                   device name_SC_TZNAME_MAX          TZNAME_MAX                 Max number of bytes                                                   supported for name                                                   of a time zone_SC_V6_ILP32_OFF32      _POSIX_V6_ILP32_OFF32      Supports  X/Open                                                   ILP32 w/32-bit                                                   offset build                                                    environment_SC_V6_ILP32_OFFBIG     _POSIX_V6_ILP32_OFFBIG     Supports  X/Open                                                   ILP32 w/64-bit                                                   offset build                                                    environment_SC_V6_LP64_OFF64       _POSIX_V6_LP64_OFF64       Supports  X/Open                                                   LP64 w/64-bit                                                   offset build                                                    environment_SC_V6_LPBIG_OFFBIG     _POSIX_V6_LPBIG_OFFBIG     Same as                                                    _SC_V6_LP64_OFF64_SC_VERSION             _POSIX_VERSION             POSIX.1 version                                                   supported_SC_XBS5_ILP32_OFF32    _XBS_ILP32_OFF32           Indicates support                                                   for X/Open ILP32                                                   w/32-bit offset                                                   build environment_SC_XBS5_ILP32_OFFBIG   _XBS5_ILP32_OFFBIG         Indicates support                                                   for X/Open ILP32                                                   w/64-bit offset                                                   build environment_SC_XBS5_LP64_OFF64     _XBS5_LP64_OFF64           Indicates support of                                                   X/Open LP64,                                                   64-bit offset                                                   build environment_SC_XBS5_LPBIG_OFFBIG   _XBS5_LP64_OFF64           Same as                                                   _SC_XBS5_LP64_OFF64_SC_XOPEN_CRYPT         _XOPEN_CRYPT               Supports X/Open                                                   Encryption Feature                                                   Group_SC_XOPEN_ENH_I18N      _XOPEN_ENH_I18N            Supports X/Open                                                   Enhanced                                                   Internationalization                                                   Feature Group_SC_XOPEN_LEGACY        _XOPEN_LEGACY              Supports X/Open                                                   Legacy Feature Group_SC_XOPEN_REALTIME      _XOPEN_REALTIME            Supports X/Open                                                   POSIX Realtime                                                   Feature Group_SC_XOPEN_REALTIME_     _XOPEN_REALTIME_THREADS    Supports X/Open     THREADS                                       POSIX Reatime                                                   Threads Feature                                                   Group_SC_XOPEN_SHM           _XOPEN_SHM                 Supports X/Open                                                   Shared Memory                                                   Feature Group_SC_XOPEN_STREAMS       _POSIX_XOPEN_STREAMS       Supports XSI Streams                                                   option group_SC_XOPEN_UNIX          _XOPEN_UNIX                Supports X/Open CAE                                                   Specification,                                                   August 1994, System                                                   Interfaces and                                                   Headers, Issue 4,                                                   Version 2_SC_XOPEN_VERSION       _XOPEN_VERSION             Integer value                                                   indicates version of                                                   X/Open Portability                                                   Guide to which                                                   implementation                                                   conforms_SC_XOPEN_XCU_VERSION   _XOPEN_XCU_VERSION         Integer value                                                   indicates version of                                                   XCU specification to                                                   which implementation                                                   conforms

    The following options are not supported and return -1:

    _SC_2_PBS

    _POSIX2_PBS

    _SC_2_PBS_ACCOUNTING

    _POSIX2_PBS_ACCOUNTING

    _SC_2_PBS_CHECKPOINT

    _POSIX2_PBS_CHECKPOINT

    _SC_2_PBS_LOCATE

    _POSIX2_PBS_LOCATE

    _SC_2_PBS_MESSAGE

    _POSIX2_PBS_MESSAGE

    _SC_2_PBS_TRACK

    _POSIX2_PBS_TRACK

    _SC_ADVISORY_INFO

    _POSIX_ADVISORY_INFO

    _SC_CPUTIME

    _POSIX_CPUTIME

    _SC_SPORADIC_SERVER

    _POSIX_SPORADIC_SERVER

    _SC_SS_REPL_MAX

    _POSIX_SS_REPL_MAX

    _SC_THREAD_CPUTIME

    _POSIX_THREAD_CPUTIME

    _SC_THREAD_SPORADIC_SERVER

    _POSIX_THREAD_SPORADIC_SERVER

    _SC_TRACE

    _POSIX_TRACE

    _SC_TRACE_EVENT_FILTER

    _POSIX_TRACE_EVENT_FILTER

    _SC_TRACE_EVENT_NAME_MAX

    _POSIX_TRACE_EVENT_NAME_MAX

    _SC_TRACE_INHERIT

    _POSIX_TRACE_INHERIT

    _SC_TRACE_LOG

    _POSIX_TRACE_LOG

    _SC_TRACE_NAME_MAX

    _POSIX_TRACE_NAME_MAX

    _SC_TRACE_SYS_MAX

    _POSIX_TRACE_SYS_MAX

    _SC_TRACE_USER_EVENT_MAX

    _POSIX_TRACE_USER_EVENT_MAX

    _SC_TYPED_MEMORY_OBJECTS

    _POSIX_TYPED_MEMORY_OBJECTS

Return Values

    Upon successful completion, sysconf() returns the current variable value on the system. The value returned will not be more restrictive than the corresponding value described to the application when it was compiled with the implementation's <limits.h>, <unistd.h> or <time.h>. With only a few obvious exceptions such as_SC_AVPHYS_PAGES and _SC_NPROCESSORS_ONLN, the value will not change during the lifetime of the calling process.

    If name is an invalid value, sysconf() returns-1 and sets errno to indicate the error. If the variable corresponding toname is associated with functionality that is not supported by the system,sysconf() returns -1 without changing the value oferrno.

    Calling sysconf() with the following returns -1 without settingerrno, because no maximum limit can be determined. The system supports at least the minimum values and can support higher values depending upon system resources.

    Variable                            Minimum supported value_SC_AIO_MAX                        _POSIX_AIO_MAX_SC_ATEXIT_MAX                     32_SC_MQ_OPEN_MAX                    32_SC_THREAD_THREADS_MAX             _POSIX_THREAD_THREADS_MAX_SC_THREAD_KEYS_MAX                _POSIX_THREAD_KEYS_MAX_SC_THREAD_DESTRUCTOR_ITERATIONS   _POSIX_THREAD_DESTRUCTOR_ITERATIONS

    The following SPARC and x86 platform variables return EINVAL:

    _SC_COHER_BLKSZ        _SC_DCACHE_ASSOC_SC_DCACHE_BLKSZ       _SC_DCACHE_LINESZ_SC_DCACHE_SZ          _SC_DCACHE_TBLKSZ_SC_ICACHE_ASSOC       _SC_ICACHE_BLKSZ_SC_ICACHE_LINESZ      _SC_ICACHE_SZ_SC_SPLIT_CACHE

Errors

    The sysconf() function will fail if:

    EINVAL

    The value of the name argument is invalid.

Attributes

    See attributes(5) for descriptions of the following attributes:

    ATTRIBUTE TYPE 

    ATTRIBUTE VALUE 

    Architecture 

    SPARC and x86 

    Interface Stability 

    Committed 

    MT-Level 

    MT-Safe, Async-Signal-Safe 

    Standard 

    See standards(5).