aboutsummaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2003/man1p/getconf.1p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2003/man1p/getconf.1p')
-rw-r--r--man-pages-posix-2003/man1p/getconf.1p464
1 files changed, 464 insertions, 0 deletions
diff --git a/man-pages-posix-2003/man1p/getconf.1p b/man-pages-posix-2003/man1p/getconf.1p
new file mode 100644
index 0000000..a13c195
--- /dev/null
+++ b/man-pages-posix-2003/man1p/getconf.1p
@@ -0,0 +1,464 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "GETCONF" 1P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" getconf
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.SH NAME
+getconf \- get configuration values
+.SH SYNOPSIS
+.LP
+\fBgetconf\fP \fB[\fP \fB-v specification\fP \fB]\fP \fIsystem_var\fP\fB
+.br
+.sp
+getconf\fP \fB[\fP \fB-v specification\fP \fB]\fP \fIpath_var pathname\fP\fB
+.br
+\fP
+.SH DESCRIPTION
+.LP
+In the first synopsis form, the \fIgetconf\fP utility shall write
+to the standard output the value of the variable specified by
+the \fIsystem_var\fP operand.
+.LP
+In the second synopsis form, the \fIgetconf\fP utility shall write
+to the standard output the value of the variable specified
+by the \fIpath_var\fP operand for the path specified by the \fIpathname\fP
+operand.
+.LP
+The value of each configuration variable shall be determined as if
+it were obtained by calling the function from which it is
+defined to be available by this volume of IEEE\ Std\ 1003.1-2001 or
+by the System Interfaces volume of
+IEEE\ Std\ 1003.1-2001 (see the OPERANDS section). The value shall
+reflect conditions in the current operating
+environment.
+.SH OPTIONS
+.LP
+The \fIgetconf\fP utility shall conform to the Base Definitions volume
+of IEEE\ Std\ 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
+.LP
+The following option shall be supported:
+.TP 7
+\fB-v\ \fP \fIspecification\fP
+.sp
+Indicate a specific specification and version for which configuration
+variables shall be determined. If this option is not
+specified, the values returned correspond to an implementation default
+conforming compilation environment.
+.LP
+If the command:
+.sp
+.RS
+.nf
+
+\fBgetconf _POSIX_V6_ILP32_OFF32
+\fP
+.fi
+.RE
+.LP
+does not write \fB"-1\\n"\fP or \fB"undefined\\n"\fP to standard output,
+then commands of the form:
+.sp
+.RS
+.nf
+
+\fBgetconf -v POSIX_V6_ILP32_OFF32 ...
+\fP
+.fi
+.RE
+.LP
+determine values for configuration variables corresponding to the
+POSIX_V6_ILP32_OFF32 compilation environment specified in \fIc99\fP,
+the EXTENDED DESCRIPTION.
+.LP
+If the command:
+.sp
+.RS
+.nf
+
+\fBgetconf _POSIX_V6_ILP32_OFFBIG
+\fP
+.fi
+.RE
+.LP
+does not write \fB"-1\\n"\fP or \fB"undefined\\n"\fP to standard output,
+then commands of the form:
+.sp
+.RS
+.nf
+
+\fBgetconf -v POSIX_V6_ILP32_OFFBIG ...
+\fP
+.fi
+.RE
+.LP
+determine values for configuration variables corresponding to the
+POSIX_V6_ILP32_OFFBIG compilation environment specified in \fIc99\fP,
+the EXTENDED DESCRIPTION.
+.LP
+If the command:
+.sp
+.RS
+.nf
+
+\fBgetconf _POSIX_V6_LP64_OFF64
+\fP
+.fi
+.RE
+.LP
+does not write \fB"-1\\n"\fP or \fB"undefined\\n"\fP to standard output,
+then commands of the form:
+.sp
+.RS
+.nf
+
+\fBgetconf -v POSIX_V6_LP64_OFF64 ...
+\fP
+.fi
+.RE
+.LP
+determine values for configuration variables corresponding to the
+POSIX_V6_LP64_OFF64 compilation environment specified in \fIc99\fP,
+the EXTENDED DESCRIPTION.
+.LP
+If the command:
+.sp
+.RS
+.nf
+
+\fBgetconf _POSIX_V6_LPBIG_OFFBIG
+\fP
+.fi
+.RE
+.LP
+does not write \fB"-1\\n"\fP or \fB"undefined\\n"\fP to standard output,
+then commands of the form:
+.sp
+.RS
+.nf
+
+\fBgetconf -v POSIX_V6_LPBIG_OFFBIG ...
+\fP
+.fi
+.RE
+.LP
+determine values for configuration variables corresponding to the
+POSIX_V6_LPBIG_OFFBIG compilation environment specified in \fIc99\fP,
+the EXTENDED DESCRIPTION.
+.sp
+.SH OPERANDS
+.LP
+The following operands shall be supported:
+.TP 7
+\fIpath_var\fP
+A name of a configuration variable. All of the variables in the Variable
+column of the table in the DESCRIPTION of the \fIfpathconf\fP() function
+defined in the System Interfaces volume of
+IEEE\ Std\ 1003.1-2001, without the enclosing braces, shall be supported.
+The implementation may add other local
+variables.
+.TP 7
+\fIpathname\fP
+A pathname for which the variable specified by \fIpath_var\fP is to
+be determined.
+.TP 7
+\fIsystem_var\fP
+A name of a configuration variable. All of the following variables
+shall be supported:
+.RS
+.IP " *" 3
+The names in the Variable column of the table in the DESCRIPTION of
+the \fIsysconf\fP()
+function in the System Interfaces volume of IEEE\ Std\ 1003.1-2001,
+except for the entries corresponding to _SC_CLK_TCK,
+_SC_GETGR_R_SIZE_MAX, and _SC_GETPW_R_SIZE_MAX, without the enclosing
+braces.
+.LP
+For compatibility with earlier versions, the following variable names
+shall also be supported:
+.sp
+.RS
+.nf
+
+POSIX2_C_BIND
+POSIX2_C_DEV
+POSIX2_CHAR_TERM
+POSIX2_FORT_DEV
+POSIX2_FORT_RUN
+POSIX2_LOCALEDEF
+POSIX2_SW_DEV
+POSIX2_UPE
+POSIX2_VERSION
+.fi
+.RE
+.LP
+and shall be equivalent to the same name prefixed with an underscore.
+This requirement may be removed in a future version.
+.LP
+.IP " *" 3
+The names of the symbolic constants used as the \fIname\fP argument
+of the \fIconfstr\fP() function in the System Interfaces volume of
+IEEE\ Std\ 1003.1-2001,
+without the _CS_ prefix.
+.LP
+.IP " *" 3
+The names of the symbolic constants listed under the headings ``Maximum
+Values'' and ``Minimum Values'' in the description of
+the \fI<limits.h>\fP header in the Base Definitions volume of
+IEEE\ Std\ 1003.1-2001, without the enclosing braces.
+.LP
+For compatibility with earlier versions, the following variable names
+shall also be supported:
+.sp
+.RS
+.nf
+
+POSIX2_BC_BASE_MAX
+POSIX2_BC_DIM_MAX
+POSIX2_BC_SCALE_MAX
+POSIX2_BC_STRING_MAX
+POSIX2_COLL_WEIGHTS_MAX
+POSIX2_EXPR_NEST_MAX
+POSIX2_LINE_MAX
+POSIX2_RE_DUP_MAX
+.fi
+.RE
+.LP
+and shall be equivalent to the same name prefixed with an underscore.
+This requirement may be removed in a future version.
+.LP
+.RE
+.LP
+The implementation may add other local values.
+.sp
+.SH STDIN
+.LP
+Not used.
+.SH INPUT FILES
+.LP
+None.
+.SH ENVIRONMENT VARIABLES
+.LP
+The following environment variables shall affect the execution of
+\fIgetconf\fP:
+.TP 7
+\fILANG\fP
+Provide a default value for the internationalization variables that
+are unset or null. (See the Base Definitions volume of
+IEEE\ Std\ 1003.1-2001, Section 8.2, Internationalization Variables
+for
+the precedence of internationalization variables used to determine
+the values of locale categories.)
+.TP 7
+\fILC_ALL\fP
+If set to a non-empty string value, override the values of all the
+other internationalization variables.
+.TP 7
+\fILC_CTYPE\fP
+Determine the locale for the interpretation of sequences of bytes
+of text data as characters (for example, single-byte as
+opposed to multi-byte characters in arguments).
+.TP 7
+\fILC_MESSAGES\fP
+Determine the locale that should be used to affect the format and
+contents of diagnostic messages written to standard
+error.
+.TP 7
+\fINLSPATH\fP
+Determine the location of message catalogs for the processing of \fILC_MESSAGES
+\&.\fP
+.sp
+.SH ASYNCHRONOUS EVENTS
+.LP
+Default.
+.SH STDOUT
+.LP
+If the specified variable is defined on the system and its value is
+described to be available from the \fIconfstr\fP() function defined
+in the System Interfaces volume of
+IEEE\ Std\ 1003.1-2001, its value shall be written in the following
+format:
+.sp
+.RS
+.nf
+
+\fB"%s\\n", <\fP\fIvalue\fP\fB>
+\fP
+.fi
+.RE
+.LP
+Otherwise, if the specified variable is defined on the system, its
+value shall be written in the following format:
+.sp
+.RS
+.nf
+
+\fB"%d\\n", <\fP\fIvalue\fP\fB>
+\fP
+.fi
+.RE
+.LP
+If the specified variable is valid, but is undefined on the system,
+\fIgetconf\fP shall write using the following format:
+.sp
+.RS
+.nf
+
+\fB"undefined\\n"
+\fP
+.fi
+.RE
+.LP
+If the variable name is invalid or an error occurs, nothing shall
+be written to standard output.
+.SH STDERR
+.LP
+The standard error shall be used only for diagnostic messages.
+.SH OUTPUT FILES
+.LP
+None.
+.SH EXTENDED DESCRIPTION
+.LP
+None.
+.SH EXIT STATUS
+.LP
+The following exit values shall be returned:
+.TP 7
+\ 0
+The specified variable is valid and information about its current
+state was written successfully.
+.TP 7
+>0
+An error occurred.
+.sp
+.SH CONSEQUENCES OF ERRORS
+.LP
+Default.
+.LP
+\fIThe following sections are informative.\fP
+.SH APPLICATION USAGE
+.LP
+None.
+.SH EXAMPLES
+.LP
+The following example illustrates the value of {NGROUPS_MAX}:
+.sp
+.RS
+.nf
+
+\fBgetconf NGROUPS_MAX
+\fP
+.fi
+.RE
+.LP
+The following example illustrates the value of {NAME_MAX} for a specific
+directory:
+.sp
+.RS
+.nf
+
+\fBgetconf NAME_MAX /usr
+\fP
+.fi
+.RE
+.LP
+The following example shows how to deal more carefully with results
+that might be unspecified:
+.sp
+.RS
+.nf
+
+\fBif value=$(getconf PATH_MAX /usr); then
+ if [ "$value" = "undefined" ]; then
+ echo PATH_MAX in /usr is infinite.
+ else
+ echo PATH_MAX in /usr is $value.
+ fi
+else
+ echo Error in getconf.
+fi
+\fP
+.fi
+.RE
+.LP
+Note that:
+.sp
+.RS
+.nf
+
+\fBsysconf(_SC_POSIX_C_BIND);
+\fP
+.fi
+.RE
+.LP
+and:
+.sp
+.RS
+.nf
+
+\fBsystem("getconf POSIX2_C_BIND");
+\fP
+.fi
+.RE
+.LP
+in a C program could give different answers. The \fIsysconf\fP() call
+supplies a value
+that corresponds to the conditions when the program was either compiled
+or executed, depending on the implementation; the \fIsystem\fP() call
+to \fIgetconf\fP always supplies a value corresponding to conditions
+when the
+program is executed.
+.SH RATIONALE
+.LP
+The original need for this utility, and for the \fIconfstr\fP() function,
+was to
+provide a way of finding the configuration-defined default value for
+the \fIPATH\fP environment variable. Since \fIPATH\fP can be
+modified by the user to include directories that could contain utilities
+replacing the standard utilities, shell scripts need a way
+to determine the system-supplied \fIPATH\fP environment variable value
+that contains the correct search path for the standard
+utilities. It was later suggested that access to the other variables
+described in this volume of IEEE\ Std\ 1003.1-2001
+could also be useful to applications.
+.LP
+This functionality of \fIgetconf\fP would not be adequately subsumed
+by another command such as:
+.sp
+.RS
+.nf
+
+\fBgrep\fP \fIvar\fP \fB/etc/conf
+\fP
+.fi
+.RE
+.LP
+because such a strategy would provide correct values for neither those
+variables that can vary at runtime, nor those that can
+vary depending on the path.
+.LP
+Early proposal versions of \fIgetconf\fP specified exit status 1 when
+the specified variable was valid, but not defined on the
+system. The output string \fB"undefined"\fP is now used to specify
+this case with exit code 0 because so many things depend on
+an exit code of zero when an invoked utility is successful.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fIc99\fP, the Base Definitions volume of IEEE\ Std\ 1003.1-2001,
+\fI<limits.h>\fP, the System Interfaces volume of IEEE\ Std\ 1003.1-2001,
+\fIconfstr\fP(), \fIpathconf\fP(), \fIsysconf\fP(), \fIsystem\fP()
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .