VMS Help
CRTL, sysconf
*Conan The Librarian
|
Gets configurable system variables.
Format
#include <unistd.h>
long int sysconf (int name);
name
Specifies the system variable to be queried.
The sysconf function provides a method for determining the
current value of a configurable system limit or whether optional
features are supported.
You supply a symbolic constant in the name argument, and sysconf
returns a value for the corresponding system variable:
o The symbolic constants defined in the <unistd.h> header file.
o The system variables are defined in the <limits.h> and
<unistd.h> header files.
sysconf Argument and Return Values lists the system variables
returned by the sysconf function, and the symbolic constants that
you can supply as the name value.
Table REF-10 sysconf Argument and Return Values
Symbolic
System Variable Constant for
Returned name Meaning
ISO POSIX-1
ARG_MAX _SC_ARG_MAX The maximum length, in bytes,
of the arguments for one of
the exec functions, including
environment data.
CHILD_MAX _SC_CHILD_ The maximum number of
MAX simultaneous processes for each
real user ID.
CLK_TCK _SC_CLK_TCK The number of clock ticks per
second. The value of CLK_TCK
can be variable. Do not assume
that CLK_TCK is a compile-time
constant.
NGROUPS_MAX _SC_NGROUPS_ The maximum number of
MAX simultaneous supplementary group
IDs for each process.
OPEN_MAX _SC_OPEN_MAX The maximum number of files that
one process can have open at one
time.
STREAM_MAX _SC_STREAM_ The number of streams that one
MAX process can have open at one
time.
TZNAME_MAX _SC_TZNAME_ The maximum number of bytes
MAX supported for the name of a time
zone (not the length of the TZ
environmental variable).
_POSIX_JOB_ _SC_JOB_ This variable has a value of
CONTROL CONTROL 1 if the system supports job
control; otherwise, -1 is
returned.
_POSIX_SAVED_IDS _SC_SAVED_ This variable has a value of 1
IDS if each process has a saved set
user ID and a saved set group
ID; otherwise, -1 is returned.
_POSIX_VERSION _SC_VERSION The date of approval of the
most current version of the
POSIX-1 standard that the system
supports. The date is a 6-digit
number, with the first 4 digits
signifying the year and the last
2 digits the month.
If_POSIX_VERSION is not defined,
-1 is returned.
Different versions of the POSIX-
1 standard are periodically
approved by the IEEE Standards
Board, and the date of approval
is used to distinguish between
different versions.
ISO POSIX-2
BC_BASE_MAX _SC_BC_BASE_ The maximum value allowed for
MAX the obase variable with the bc
command.
BC_DIM_MAX _SC_BC_DIM_ The maximum number of elements
MAX permitted in an array by the bc
command.
BC_SCALE_MAX _SC_BC_ The maximum value allowed for
SCALE_MAX the scale variable with the bc
command.
BC_STRING_MAX _SC_BC_ The maximum length of string
STRING_MAX constants accepted by the bc
command.
COLL_WEIGHTS_MAX _SC_COLL_ The maximum number of weights
WEIGHTS_MAX that can be assigned to an
entry in the LC_COLLATE locale-
dependent information in a
locale definition file.
EXPR_NEST_MAX _SC_EXPR_ The maximum number of
NEST_MAX expressions that you can nest
within parentheses by the expr
command.
LINE_MAX _SC_LINE_MAX The maximum length, in bytes,
of a command input line (either
standard input or another file)
when the utility is described
as processing text files. The
length includes room for the
trailing new-line character.
RE_DUP_MAX _SC_RE_DUP_ The maximum number of repeated
MAX occurrences of a regular
expression permitted when using
the interval notation arguments,
such as the m and n arguments
with the ed command.
_POSIX2_CHAR_ _SC_2_CHAR_ This variable has a value of 1
TERM TERM if the system supports at least
one terminal type; otherwise, -1
is returned.
_POSIX2_C_BIND _SC_2_C_BIND This variable has a value of
1 if the system supports the
C language binding option;
otherwise, -1 is returned.
_POSIX2_C_DEV _SC_2_C_DEV This variable has a value of
1 if the system supports the
optional C Language Development
Utilities from the ISO POSIX-
2 standard; otherwise, -1 is
returned.
_POSIX2_C_ _SC_2_C_ Integer value indicating the
VERSION VERSION version of the ISO POSIX-2
standard (C language binding).
It changes with each new version
of the ISO POSIX-2 standard.
_POSIX2_VERSION _SC_2_ Integer value indicating the
VERSION version of the ISO POSIX-2
standard (Commands). It changes
with each new version of the ISO
POSIX-2 standard.
_POSIX2_FORT_DEV _SC_2_FORT_ The variable has a value of 1 if
DEV the system supports the Fortran
Development Utilities Option
from the ISO POSIX-2 standard;
otherwise, -1 is returned.
_POSIX2_FORT_RUN _SC_2_FORT_ The variable has a value of
RUN 1 if the system supports the
Fortran Runtime Utilities Option
from the ISO POSIX-2 standard;
otherwise, -1 is returned.
_POSIX2_ _SC_2_ The variable has a value of
LOCALEDEF LOCALEDEF 1 if the system supports the
creation of new locales with the
localedef command; otherwise, -1
is returned.
_POSIX2_SW_DEV _SC_2_SW_DEV The variable has a value of 1 if
the system supports the Software
Development Utilities Option
from the ISO POSIX-2 standard;
otherwise, -1 is returned.
_POSIX2_UPE _SC_2_UPE The variable has a value of 1
if the system supports the User
Portability Utilities Option;
otherwise, -1 is returned.
POSIX 1003.1c-1995
_POSIX_THREADS _SC_THREADS This variable has a value of 1
if the system supports POSIX
threads; otherwise, -1 is
returned.
_POSIX_THREAD_ _SC_THREAD_ This variable has a value of 1
ATTR_STACKSIZE ATTR_ if the system supports the POSIX
STACKSIZE threads stack size attribute;
otherwise, -1 is returned.
_POSIX_THREAD_ _SC_THREAD_ The 1003.1c implementation
PRIORITY_ PRIORITY_ supports the realtime scheduling
SCHEDULING SCHEDULING functions.
_POSIX_THREAD_ _SC_THREAD_ TRUE if the implementation
SAFE_FUNCTIONS SAFE_ supports the thread-safe ANSI
FUNCTIONS C functions in POSIX 1003.1c.
PTHREAD_ _SC_THREAD_ When a thread terminates,
DESTRUCTOR_ DESTRUCTOR_ DECthreads iterates through
ITERATIONS ITERATIONS all non-NULL thread-specific
data values in the thread, and
calls a registered destructor
routine (if any) for each. It
is possible for a destructor
routine to create new values for
one or more thread-specific data
keys. In that case, DECthreads
goes through the entire process
again.
_SC_THREAD_DESTRUCTOR_ITERATIONS
is the maximum number of times
the implementation loops before
it terminates the thread even if
there are still non-NULL values.
PTHREAD_KEYS_MAX _SC_THREAD_ The maximum number of thread-
KEYS_MAX specific data keys that an
application can create.
PTHREAD_STACK_ _SC_THREAD_ The minimum allowed size of a
MIN STACK_MIN stack for a new thread. Any
lower value specified for the
"stacksize" thread attribute is
rounded up.
UINT_MAX _SC_THREAD_ The maximum number of threads
THREADS_MAX an application is allowed to
create. Since DECthreads does
not enforce any fixed limit,
this value is -1.
X/Open
_XOPEN_VERSION _SC_XOPEN_ An integer indicating the
VERSION most current version of the
X/Open standard that the system
supports.
PASS_MAX _SC_PASS_MAX Maximum number of significant
bytes in a password (not
including terminating null).
XOPEN_CRYPT _SC_XOPEN_ This variable has a value of
CRYPT 1 if the system supports the
X/Open Encryption Feature Group;
otherwise, -1 is returned.
XOPEN_ENH_I18N _SC_XOPEN_ This variable has a value
ENH_I18N of 1 if the system supports
the X/Open enhanced
Internationalization Feature
Group; otherwise, -1 is
returned.
XOPEN_SHM _SC_XOPEN_ This variable has a value
SHM of 1 if the system supports
the X/Open Shared Memory
Feature Group; otherwise, -1
is returned.
X/Open Extended
ATEXIT_MAX _SC_ATEXIT_ The maximum number of functions
MAX that you can register with
atexit per process.
PAGESIZE _SC_PAGESIZE Size, in bytes, of a page.
PAGE_SIZE _SC_PAGE_ Same as PAGESIZE. If either
SIZE PAGESIZE or PAGE_SIZE is
defined, the other is defined
with the same value.
IOV_MAX _SC_IOV_MAX Maximum number of iovec
structures that one process
has available for use with readv
or writev.
XOPEN_UNIX _SC_XOPEN_ This variable has a value of
UNIX 1 if the system supports the
X/Open CAE Specification, August
1994, System Interfaces and
Headers, Issue 4, Version 2,
(ISBN: 1-85912-037-7, C435);
otherwise, -1 is returned.
Other
N/A _SC_CPU_ Returns information for
CHIP_TYPE the processor type. See the
description after this table.
For the _SC_CPU_CHIP_TYPE symbolic constant:
o On Alpha servers, sysconf returns the architecture type (2),
as given by the $GETSYI system service.
o Integrity processor information is stored in CPUID register
3. This register contains a 64-bit integer divided into 1-byte
fields indicating version information related to the processor
implementation. The sysconf function returns the low-order
longword with the following information:
31 24 23 16 15 8 7 0
----------------------------------
| family | model | rev |number|
----------------------------------
These fields are described in the following table:
Field Bits Description
number 7:0 Index of the largest implemented CPUID register
(one less than the number of implemented CPUID
registers). This value will be at least 4.
rev 15:8 Processor revision number. An 8-bit value that
represents the revision or stepping of this
processor implementation within the processor
model.
model 23:16 Processor model number. A unique 8-bit value
representing the processor model within the
processor family.
family 31:24 Processor family number. A unique 8-bit value
representing the processor family.
x The current variable value on the system. The
value does not change during the lifetime of
the calling process.
-1 Indicates an error.
If the value of the name argument is invalid,
errno is set to indicate the error.
If the value of the name argument is
undefined, errno is unchanged.