getconf(1) General Commands Manual getconf(1)
NAME
getconf - Displays system configuration variable values
SYNOPSIS
getconf [-v specification] system_var
getconf [-v specification] path_var pathname
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
getconf: XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about industry standards and associated tags.
OPTIONS
Indicates a specification and version for which configuration variables are to be determined. If this option is not specified, the values
returned will correspond to an implementation default XBS5-conforming compilation environment.
The specification can be one of the following symbolic constants:
XBS5_ILP32_OFF32 XBS5_ILP32_OFFBIG XBS5_LP64_OFF64 XBS5_LPBIG_OFFBIG
These four constants have corresponding system standards configuration variables. The names are the same except for a leading
underscore in the name of the configuration variable; for example, the specification constant XBS5_ILP32_OFF32 corresponds to the
configuration variable _XBS5_ILP32_OFF32.
If a getconf command is issued with one of these configuration variables (for example, _XBS5_LPBIG_OFFBIG) and does not return -1 or
"undefined", then a following getconf command with a -v specification of XBS5_LPBIG_OFFBIG will determine values for configuration
variables corresponding to the XBS5_LPBIG_OFFBIG compilation environment. For example:
%sh $ outstr=`getconf _XBS5_LPBIG_OFFBIG` $ if ["$outstr"!="-1"] && ["$outstr"!="undefined"] > then > cvars=`getconf -v
XBS5_LPBIG_OFFBIG XVS5_LPBIG_OFFBIG_id` > fi
The id in the system-wide configuration variable identifies which configuration variables are to be returned. See the description of
XBS5_* variables under the heading "System Standards Configuration Variables" for details about the id suffix.
OPERANDS
Name of a symbolic constant. (The symbolic constant names are listed in the DESCRIPTION section under the heading "Specification Con-
stants".) Name of a system-wide configuration variable. (These variable names are listed in the DESCRIPTION section under the headings
"System-Wide Configuration Variables" and "System Standards Configuration Variables".) Name of a system path-configuration variable.
(These variable names are listed in the DESCRIPTION section under the heading "System Path Configuration Variables".) A path name for the
path_var variable.
DESCRIPTION
In the system_var synopsis form, the getconf utility writes, to the standard output, the value of the variable specified in the system_var
operand.
In the path_var synopsis form, the getconf utility writes, to the standard output, the value of the variable specified by the path_var op-
erand for the path specified by the pathname operand.
In both cases, the value reflects conditions in the current operating environment.
The system_var argument specifies system-wide configuration variables whose values are valid throughout the system. There are two kinds of
system-wide configuration values: System-wide configuration variables System standards configuration variables
The path_var argument specifies system path-configuration variables whose values contain information about paths and the path structure in
the system.
Specification Variables
Specifications return the value -1 or "undefined" if the implementation of the standard in the system does not support the configuration
defined by the specification and a value other than -1 if the implementation does support the configuration. If these are undefined, the
sysconf() function can be used to determine whether the configuration is provided for a particular invocation of the application. This
symbolic constant specifies that the implementation is to provide a C-language compilation environment with 32-bit int, long, pointer, and
off_t types. This symbolic constant specifies that the implementation is to provide a C-language compilation environment with 32-bit int,
long, and pointer types and an off_t type using at least 64 bits. This symbolic constant specifies that the implementation is to provide a
C-language compilation environment with a 32-bit int type and 64-bit long, pointer, and off_t types. This symbolic constant specifies that
the implementation is to provide a C-language compilation environment with an int type using at least 32 bits and long, pointer, and off_t
types using at least 64 bits.
System-Wide Configuration Variables
System-wide configuration variables contain the minimum values met throughout all portions of the system. The following list defines the
system-wide configuration variables used with the getconf command: The maximum length, in bytes, of the arguments for one of the exec func-
tions, including environment data. [XPG4-UNIX] The maximum number of functions that can be registered with atexit() per process. The
maximum value allowed for the obase variable with the bc command. The maximum number of elements permitted in an array by the bc command.
The maximum value allowed for the scale variable with the bc command. The maximum length of string constants accepted by the bc command.
The maximum number of bytes in a character class name. Number of bits in a type of char. The maximum value of a type char. The minimum
value of a type char. The maximum number of simultaneous processes for each real user ID. The number of clock ticks per second. The value
of CLK_TCK may be variable, and it should not be assumed that CLK_TCK is a compile-time constant. The maximum number of weights that can
be assigned to an entry in the LC_COLLATE locale-dependent information in a locale-definition file. A value for the PATH environment vari-
able that finds all standard utilities. [Tru64 UNIX] The maximum number of data keys that may be created per process. The maximum number
of expressions that can be nested within parentheses by the expr command. The maximum value of an int. The minimum value of an int. The
maximum length, in bytes, of a command's input line (either standard input or another file) when the utility is described as processing
text files. The length includes room for the trailing newline character. Number of bits in a long int. The maximum value of a long int.
The minimum value of a long int. The maximum number of bytes in a character for any supported locale. The maximum number of simultaneous
supplementary group IDs for each process. The maximum value of digit in calls to the printf() and scanf() functions. The maximum number
of bytes in a LANG name. The maximum message number. [Tru64 UNIX] The maximum number of bytes in an N-to-1 collation mapping. The maxi-
mum set number. The maximum number of bytes in a message string. Default process priority. The maximum number of files that one process
can have open at one time. [XPG4-UNIX] The page size granularity for memory regions. [Tru64 UNIX] The maximum number of characters
returned by getpass() (not including terminating null). A value for the PATH environment variable that finds all standard utilities.
[Tru64 UNIX] The official name of the installed operating system product. The maximum number of repeated occurrences of a regular expres-
sion permitted when using the interval-notation parameters, such as the m and n parameters with the ed command. The maximum value of a
type signed char. The minimum value of a type signed char. The maximum value of a type short. The minimum value of a type short. The
maximum value that can be stored in an object of type ssize_t. The number of streams that one process can have open at one time. [Tru64
UNIX] The official system banner. The banner typically consists of the vendor name followed by the product name. [Tru64 UNIX] The prod-
uct version information. The minimum number of unique path names generated by tmpnam(). Maximum number of times an application can call
tmpnam() reliably. The maximum number of bytes supported for the name of a time zone (not the length of the TZ environmental variable).
The maximum value of a type unsigned char. The maximum value of a type unsigned int. The maximum value of a type unsigned long int. The
maximum value of a type unsigned short int. [Tru64 UNIX] The official abbreviated company name of the operating system manufacturer. If
no value was specified for this variable, the VENDOR_NAME value is returned. [Tru64 UNIX] The official company name of the operating sys-
tem manufacturer. Number of bits in a word or type int.
System Standards Configuration Variables
System standards configuration variables contain the minimum values required by a particular system standard. The prefixes of the variables
indicate that the variables contain the minimum values for system characteristics required by particular standards. The correspondence
between the prefixes and standards is as follows:
--------------------------------------------------------
Prefix Standard
--------------------------------------------------------
_POSIX_ POSIX 1003.1 (POSIX.1)
POSIX2_ POSIX 1003.2 (POSIX.2)
_XOPEN_ X/Open
XBS5_ or _XBS5_ X/Open Version 5.1
_AES_ Open Software Foundation's AES system
standard
--------------------------------------------------------
System standards are system-wide minimums that the system meets to support the particular system standard. Actual configuration values may
exceed these standards. The system standards configuration variables for the getconf command are defined as follows: [Tru64 UNIX] The
integer value indicating the revision of the Application Environment Specification to which the implementation is compliant. The length of
the arguments for one of the exec functions, in bytes, including environment data. The maximum number of simultaneous processes for each
real user ID. This variable has a value of 1 if the system supports job control; otherwise, the variable is undefined. This variable has
a value other than -1 if the implementation supports the creation of locales by the localedef utility. The maximum value of a file's link
count. The maximum number of bytes in a terminal canonical input queue. The maximum number of bytes for which space will be available in
a terminal input queue. The maximum number of bytes in a file name. The maximum number of simultaneous supplementary group IDs for each
process. The maximum number of files that one process can have open at one time. The maximum number of bytes in a path name. The maximum
number of bytes that can be written atomically when writing to a pipe. [Tru64 UNIX] This variable has a value of 1 if the system supports
POSIX reentrant functions; otherwise, the variable is undefined. This variable has a value of 1 if each process has a saved set-user-ID
and a saved set-group-ID; otherwise, the variable is undefined. The maximum value that can be stored in an object of type ssize_t. The
number of streams that one process can have open at one time. [Tru64 UNIX] This variable has a value of 1 if the system supports the
POSIX threads stack size attribute; otherwise, the variable is undefined. This variable has a value other than -1 if the implementation
supports the priority inheritance option. This variable has a value other than -1 if the implementation supports the thread execution
scheduling option. [Tru64 UNIX] This variable has a value of 1 if the system supports POSIX threads; otherwise, the variable is unde-
fined. The maximum number of bytes supported for the name of a time zone (not the length of the TZ environmental variable). 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 dig-
its signifying the year and the last 2 digits the month. 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. The maximum value allowed for the obase vari-
able with the bc command. The maximum number of elements permitted in an array by the bc command. The maximum value allowed for the scale
variable with the bc command. The maximum of length string constants accepted by the bc command. One or more terminal types capable of
all operations described in ISO/IEC 9945. This value need not be present on a system not supporting the User Portability Utilities Option.
The maximum number of weights that can be assigned to an entry of the LC_COLLATE locale variable in a locale-definition file. The maximum
number of expressions that can be nested within parentheses by the expr command. The maximum length, in bytes, of a command's input line
(either standard input or another file) when the utility is described as processing text files. The length includes room for the trailing
newline character. This variable has a value of 1 if the system supports the creation of new locales with the localedef command; other-
wise, the variable is undefined. The maximum number of repeated occurrences of a regular expression permitted when using the interval-
notation parameters, such as the m and n parameters with the ed command. This variable has a value of 1 if the system supports the User
Portability Utilities Option; otherwise, the variable has a value of 0 (zero). The date of approval of the most current version of the
POSIX.2 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. Different versions of the POSIX.2 standard are periodically approved by the IEEE Standards Board, and the date of approval is
used to distinguish between different versions. This variable has a value of 1 if the system supports the optional C Language Development
Facilities specified by POSIX.2 and the optional C Language Bindings Option from POSIX.2; otherwise, the variable is undefined. This vari-
able has a value of 1 if the system supports the optional C Language Development Utilities from POSIX.2; otherwise, the variable is unde-
fined. This value indicates the version of the interfaces described in the C-Language Bindings Option section of the XPG4 standard. This
value changes with each published version of ISO/IEC 9945 to indicate the 4-digit year and 2-digit month that the standard was approved by
the IEEE Standards Board. This variable has a value of 1 if the system supports the FORTRAN Development Utilities Option from POSIX.2;
otherwise, the variable is undefined. This variable has a value of 1 if the system supports the FORTRAN Run-time Utilities Option from
POSIX.2; otherwise, the variable is undefined. This variable has a value of 1 if the system supports the Software Development Utilities
Option from POSIX.2; otherwise, the variable is undefined. Same meanings as the -v specification variables. Note that the corresponding
specification variables do not have a leading underscore. See "Specification Variables" for definitions. These variables specify values to
be passed to utilities used in building an application. The name of the parameter establishes type-size constraints for the environment in
which an application is being built: . The int, long, pointer, and off_t types are treated as 32-bit types. The int, long, and pointer
types are treated as 32-bit types, and the off_t type is treated as a type with at least 64 bits. The int type is treated as a 32-bit
type, and the long, pointer, and off_t types are treated as 64-bit types The int type is treated as a type with at least 32 bits, and the
long, pointer, and off_t types are treated as types with at least 64 bits.
The parameter suffix (id) identifies the component affected by the type-size constraint: The value of the parameter is the set of
initial options (compilation options) to be given to cc or c89. The value of the parameter is the set of final options (loader
options) to be given to cc or c89. The value of the parameter is the set of libraries to be given to cc or c89. The value of the
parameter is the set of checking options to be given to lint.
In all cases, if sysconf (_SC_XBS5_ILP32_OFFBIG) returns -1, the meaning of the passed values is unspecified. This variable has a
value other than -1 if the implementation supports the X/Open Encryption Feature Group. This variable has a value other than -1 if
the implementation supports the X/Open Enhanced Internationalization Feature Group. This variable has a value other than -1 if the
implementation supports the Legacy Feature Group. This variable has a value other than -1 if the implementation supports the X/Open
Realtime Feature Group. This variable has a value other than -1 if the implementation supports the X/Open Realtime Threads Feature
Group. This variable has a value other than -1 if the implementation supports the X/Open Shared Memory Feature Group. An integer
indicating the most current version of the X/OPEN standard that the system supports. An integer value indicating the version of the
XCU specification to which the implementation conforms. If the value is -1, no commands and utilities are provided on the implemen-
tation. This variable is defined only if the implementation supports the X/Open Portability Guide, Volume 2, January 1987, XVS Sys-
tem Calls and Libraries. This variable is defined only if the implementation supports the X/Open Specification, February 1992, Sys-
tem Interfaces and Headers, Issue 3. This variable is defined only if the implementation supports the X/Open CAE Specification,
July 1992, Systems Interfaces and Headers, Issue 4.
System Path Configuration Variables
The maximum value of a file's link count. If the pathname argument refers to a directory, the value returned applies to the directory
itself. The maximum number of bytes in a terminal canonical input queue. If the pathname argument does not specify a terminal file, the
getconf command exits with a nonzero value. The maximum number of bytes for which space will be available in a terminal input queue. If
the pathname argument does not specify a terminal file, the getconf command exits with a nonzero value. The maximum number of bytes in a
file name. If the pathname argument specifies a directory, the value returned applies to the file names within the directory. The maximum
number of bytes in a path name. If the pathname argument specifies a directory, the value returned is the maximum length of a relative path
name when the specified directory is the working directory. The maximum number of bytes that can be written atomically when writing to a
pipe. If the pathname argument specifies a FIFO or a pipe, the value returned applies to that object. If the pathname argument specifies a
directory, the value returned applies to any FIFO created in that directory. If the pathname argument does not specify a directory or a
FIFO file, the getconf command exits with a nonzero value. This variable has a value of 1 when the use of the chown function is restricted
to a process with appropriate privileges and the group ID of a file can only be changed to the effective group ID of the process or to one
of its supplementary group IDs. If the variable is undefined, it varies in the system, depending upon the path. This variable has a value
of 1 when path names longer than the limit specified by the NAME_MAX variable will generate an error. If the variable is undefined, it
varies in the system, depending upon the path. When this variable has a value of 1, terminal special characters, which are defined in the
<termios.h> header file, can be disabled. If the pathname argument does not specify a terminal file, the getconf command will exit with a
nonzero value.
EXIT STATUS
The following exit values are returned: The specified variable is valid and information about its current state has been displayed success-
fully. An error occurred.
EXAMPLES
To display the value of the ARG_MAX environment variable, enter: getconf ARG_MAX To display the value of the PATH_MAX environmental vari-
able for the /usr directory, enter: getconf PATH_MAX /usr
This sequence returns the following message: The value of PATH_MAX in /usr is 1023
ENVIRONMENT VARIABLES
The following environment variables affect the execution of getconf: Provides a default value for the internationalization variables that
are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization
variables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string
value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of
bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the
format and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of
LC_MESSAGES.
FILES
Defines system configuration variables. Defines system configuration variables. Defines terminal characteristics.
SEE ALSO
Commands: env(1)
Functions: pathconf(2)
Routines: confstr(3), sysconf(3)
Environment: environ(5)
Standards: standards(5)
getconf(1)