NAME¶
pmGetConfig - return Performance Co-Pilot configuration variable
C SYNOPSIS¶
#include <pcp/pmapi.h>
char *pmGetConfig(const char *
variable);
#include <pcp/impl.h>
char *__pmGetAPIConfig(const char *
feature);
cc ... -lpcp
DESCRIPTION¶
The
pmGetConfig function searches for
variable first in the
environment and then, if not found, in the Performance Co-Pilot (PCP)
configuration file and returns the string result. If
variable is not
already in the environment, it is added with a call to
putenv(3) before
returning.
The default location of the PCP configuration file is
/etc/pcp.conf but
this may be changed by setting
PCP_CONF in the environment to a new
location, as described in
pcp.conf(5).
The internal
__pmGetAPIConfig function reports on features of the PCP
library. It can be used to query support for multi-threading, security
extensions, and other features.
The
pmconfig(1) utility provides command line access to both of these
interfaces, and also provides a mechanism for listing all available
variables and
features that are valid arguments to these
routines.
RETURN VALUE¶
If
variable is not found in either the environment nor the PCP
configuration file then the return value is an empty string. If the PCP
configuration file is not found then a fatal error message is printed and the
process will
exit(2) - although this sounds drastic, it is the only
course of action available because the PCP configuration/installation is
fatally flawed.
If the
pmGetConfig function returns a non-empty string, the returned
value points into the environment and so changing it is a bad idea. This
function returns the same type as the
getenv(3) function (which should
probably be a
const char *).
The
__pmGetAPIConfig routine on the other hand returns NULL on failure to
lookup the requested
feature. It does not modify the environment, and
returns a pointer to a static read-only string which also should not be
modified or freed by the caller.
PCP ENVIRONMENT¶
Environment variables with the prefix
PCP_ are used to parameterize the
file and directory names used by PCP. On each installation, the file
/etc/pcp.conf contains the local values for these variables. The
$PCP_CONF variable may be used to specify an alternative configuration
file, as described in
pcp.conf(5). Values for these variables may be
obtained programmatically using the
pmGetConfig(3) function.
SEE ALSO¶
PCPIntro(1),
pmconfig(1),
exit(2),
PMAPI(3),
getenv(3C),
putenv(3C),
pcp.conf(5),
pcp.env(5)
and
environ(5).