sysconf(3C) 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). By using this function, applications can be more portable across different operating systems. The name argument represents the system variable to be queried. Some of the limits have a minimal value defined by POSIX or XPG4 which may have a higher value under IRIX. Some limits are fixed in the system and some may be altered by the system administrator (see systune(1M) for information on how to change system limits). In general, the values returned by sysconf will be constant for the duration of a process. In various manual pages, limits are specified within braces (e.g. {ARG_MAX}. The limit name, prepended with a _SC_ is the name to be used with sysconf. For options such as {POSIX2_VERSION}, the name to be used as the argument to name is the option name, minus POSIX and _SC_ prepended (_SC_2_VERSION). The following lists the set of system variables from <unistd.h> that can be returned by sysconf. NAME MEANING _SC_ARG_MAX Maximum length of arguments for the exec functions, in bytes, including environment data. _SC_ATEXIT_MAX Maximum number of functions that may be registered with atexit(). This value is always set at 37 in Irix. This value is currently not able to be changed in Irix. _SC_CHILD_MAX Maximum number of simultaneous processes per real user ID. _SC_IOV_MAX Maximum number of iovec structures that one process has available for use with readv() or writev(). This value is currently 512 or higher in Irix. This value is currently not able to be changed in Irix. _SC_CLK_TCK Clock ticks per second. _SC_NACLS_MAX Always 0 on Irix. _SC_NGROUPS_MAX Maximum number of simultaneous supplementary group IDs per process. _SC_OPEN_MAX Maximum number of files that one process can have open at any given time. _SC_PASS_MAX Maximum number of characters in a password. _SC_PAGESIZE The memory page size of the system expressed in bytes. This is the fundamental unit of memory management of the operating system. _SC_JOB_CONTROL Always 1 on Irix which supports job control. _SC_SAVED_IDS Always 1 on Irix which supports this feature of setuid(2). _SC_VERSION The version of POSIX currently supported. _SC_XOPEN_VERSION The version of X/Open currently supported. _SC_LOGNAME_MAX Maximum number of characters in a login name. _SC_NPROC_CONF Total number of processors configured in the machine. _SC_NPROC_ONLN Total number of processors currently online. _SC_STREAM_MAX The number streams that one process can have open at one time. _SC_TZNAME_MAX The maximum number of bytes supported for the name of a time zone. _SC_RTSIG_MAX The number of realtime signal values available. _SC_SIGQUEUE_MAX The maximum number of queued signals. _SC_REALTIME_SIGNALS Always 1 on Irix, meaning that realtime signals are supported. _SC_ACL Returns 1 if Access Control Lists are supported. _SC_AUDIT Returns 1 if Auditing is supported. _SC_INF Returns 1 if Information Labels are supported. _SC_MAC Returns 1 if Mandatory Access Control is supported. _SC_CAP Returns 0 if capabilities are disabled. Returns 1 if capabilities and superuser are supported. Returns 2 if capabilities are supported and superuser is not supported. _SC_IP_SECOPTS Returns 1 if IP Security Options are supported. _SC_PRIORITIZED_IO Returns 1 if the POSIX 1003.1b prioritized input and output option is supported. _SC_AIO_MAX The maximum number of simultaneous asynchronous I/O requests outstanding. _SC_AIO_LISTIO_MAX The maximum number of queued asynchronous I/O requests. _SC_ASYNCHRONOUS_IO Always 1 on Irix, meaning that asynchronous i/o is supported. _SC_KERN_POINTERS Allows binaries to check if the running kernel is 32 bits or 64 bits. Possible return values for 32 bit kernels are -1 or 32. For 64 bit kernels the return value is 64. _SC_KERN_SIM Allows binaries to check if the running kernel is a 32, N32, or 64 bit kernel. Possible return values are (defined in sgidefs.h) _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64, and -1 for error. _SC_DELAYTIMER_MAX Maximum number of timer expiration overruns. _SC_MQ_OPEN_MAX The maximum number of open message queue descriptors that a process may hold. _SC_MQ_PRIO_MAX The maximum number of message priorities supported. _SC_SEM_NSEMS_MAX The maximum number of semaphores that a process may have. _SC_SEM_VALUE_MAX The maximum value that a semaphore may have. _SC_TIMER_MAX Maximum number of timers supported per process. _SC_FSYNC Returns 1 if POSIX 1003.1b file synchronization is supported. _SC_MAPPED_FILES Returns 1 if POSIX 1003.1b mapped files option is supported. _SC_MEMLOCK Returns 1 if POSIX 1003.1b process memory locking option is supported. _SC_MEMLOCK_RANGE Returns 1 if POSIX 1003.1b range memory locking option is supported. _SC_MEMORY_PROTECTION Returns 1 if POSIX 1003.1b memory protection option is supported. _SC_MESSAGE_PASSING Returns 1 if POSIX 1003.1b message passing option is supported. _SC_PRIORITY_SCHEDULING Returns 1 if POSIX 1003.1b process scheduling option is supported. _SC_SEMAPHORES Returns 1 if POSIX 1003.1b semaphore option is supported. _SC_SHARED_MEMORY_OBJECTS Returns 1 if POSIX 1003.1b shared memory object option is supported. _SC_SYNCHRONIZED_IO Returns 1 if POSIX 1003.1b synchronized input and output option is supported. _SC_TIMERS Returns 1 if POSIX 1003.1b timers option is supported. _SC_XOPEN_SHM If the X/Open Shared Memory Feature Group is supported, then a value of 1 is returned. If it is not supported then a value of -1 is returned. _SC_BC_BASE_MAX Returns the maximum obase value allowed by the bc utility. _SC_BC_DIM_MAX Returns the maximum number of elements permitted in an array by the bc utility. _SC_BC_SCALE_MAX Returns the maximum scale value allowed by the bc utility. _SC_BC_STRING_MAX Returns the maximum length of a string constant accepted by the bc utility. _SC_COLL_WEIGHTS_MAX Returns the maximum number of weights that can be assigned to an entry of the LC_COLLATE order keyword in the locale definition file. _SC_EXPR_NEST_MAX Returns the maximum number of expressions that can be nested within parenthesis by the expr utility. _SC_RE_DUP_MAX Returns the maximum number of repeated occurrences of a BRE permitted when using the interval notation \{m,n\}. _SC_LINE_MAX Returns the maximum length, in bytes, of the input line of a utility (either standard input or another file), when the utility is described as processing text files. The length includes room for the trailing <newline>. Some utilities has different limits specified in their manual pages. _SC_XOPEN_CRYPT The encryption routines crypt(), encrypt() and setkey() are always provided, and hence the setting for this X/Open Feature Group is to return the value 1. Note that in certain markets the decryption algorithm may not be exported and in that case, encrypt() returns ENOSYS for the decryption operation. _SC_2_C_BIND Returns 1 if the POSIX 1003.2 C-language development facilities option is supported. _SC_2_LOCALEDEF Returns 1 if the POSIX 1003.2 creation of locales option is supported. _SC_2_C_DEV Returns 1 if the POSIX 1003.2 C-language development utilities option is supported. _SC_2_C_VERSION Returns the value of POSIX2_C_VERSION which indicates the version of the POSIX 1003.2 standard C-language binding option that IRIX conforms to. _SC_2_CHAR_TERM Returns 1 if the system supports at least one terminal type capable of all operations described in POSIX 1003.2. _SC_2_FORT_DEV Returns 1 if the POSIX 1003.2 FORTRAN development utilities option is supported. _SC_2_FORT_RUN Returns 1 if the POSIX 1003.2 FORTRAN runtime utilities option is supported. _SC_2_SW_DEV Returns 1 if the POSIX 1003.2 software development utilities option is supported. _SC_2_UPE Returns 1 if the POSIX 1003.2 user portability utilities option is supported. _SC_XOPEN_ENH_I18N Returns 1 if the X/Open enhanced internationalization feature group is supported. _SC_2_VERSION Returns the value of POSIX2_VERSION which indicates the version of the POSIX 1003.2 standard that the utilities in IRIX conform to. _SC_GETGR_R_SIZE_MAX Maximum size of getgrgid_r(3C) and getgrnam_r(3C) data buffers. _SC_GETPW_R_SIZE_MAX Maximum size of getpwuid_r(3C) and getpwnam_r(3C) data buffers. _SC_LOGIN_NAME_MAX The size of storage required for a login name, in bytes, including the terminating null. _SC_THREAD_DESTRUCTORS_ITERATIONS The number of attempts made to destroy a thread's thread-specific data values on thread exit. _SC_THREAD_KEYS_MAX The number of data keys per process. _SC_THREAD_STACK_MIN The minimum size in bytes required for a thread stack. _SC_THREAD_THREADS_MAX The number of threads per process. _SC_TTY_NAME_MAX The size of storage required for a terminal device name, in bytes, including the terminating null. _SC_THREADS Returns 1 if the POSIX 1003.1c threads option is supported. _SC_THREAD_ATTR_STACKADDR Returns 1 if the POSIX 1003.1c thread stack address attribute option is supported. _SC_THREAD_ATTR_STACKSIZE Returns 1 if the POSIX 1003.1c thread stack size attribute option is supported. _SC_THREAD_PRIORITY_SCHEDULING Returns 1 if the POSIX 1003.1c thread execution scheduling option is supported. _SC_THREAD_PRIO_INHERIT Returns 1 if the POSIX 1003.1c priority inheritance option is supported. _SC_THREAD_PRIO_PROTECT Returns 1 if the POSIX 1003.1c priority protection option is supported. _SC_THREAD_PROCESS_SHARED Returns 1 if the POSIX 1003.1c process-shared synchronization option is supported. _SC_THREAD_SAFE_FUNCTIONS Returns 1 if the POSIX 1003.1c thread-safe functions option is supported. _SC_MMAP_FIXED_ALIGNMENT The minimum alignment required for MAP_FIXED mmap(2) calls. This is the same as _SC_PAGESIZE except on the MIPS R4000PC, R4600 and R5000 processors. _SC_SOFTPOWER Returns 1 if softpower is supported. _SC_XBS5_ILP32_OFF32 Always 1 on IRIX, since the compilation model -o32 is always supported. _SC_XBS5_ILP32_OFFBIG Always 1 on IRIX, since the compilation model -n32 is always supported. _SC_XBS5_LP64_OFF64 Returns 1 if the -64 compilation model is supported on this platform, -1 otherwise. _SC_XBS5_LPBIG_OFFBIG Returns 1 if the -64 compilation model is supported on this platform, -1 otherwise. _SC_XOPEN_LEGACY If the X/Open Legacy Feature Group is supported, then a value of 1 is returned. If it is not supported then a value of -1 is returned. Always 1 on IRIX and the Legacy features supported designated by the word LEGACY in the individual man pages. SEE ALSO fpathconf(2), sysconf(1), systune(1M). DIAGNOSTICS If name is an invalid value, sysconf will return -1 and set errno to indicate the error. If sysconf fails due to a value of name that is not defined on the system, the function will return a value of -1 without changing the value of errno. NOTES A call to setrlimit may cause the value of OPEN_MAX to change. Page 7