int pmGetInDom(pmInDom indom, int **instlist, char ***namelist)
int pmRequestInDom(int ctx, pmInDom indom)
int pmReceiveInDom(int ctx, int **instlist, char ***namelist)
cc ... -lpcp
DESCRIPTION
In the current
Performance Metrics Application Programming Interface (PMAPI)
context,
locate the description of the instance domain
indom,
and return via
instlist
the internal instance identifiers for all instances,
and via
namelist
the full external identifiers for all instances.
The number of instances found is returned as the function value
(else less than zero to indicate an error).
The value for the instance domain
indom
is typically extracted from a
pmDesc
structure, following a call to
pmLookupDesc(3)
for a particular performance metric.
The resulting lists of instance identifiers (instlist
and
namelist),
and the names that the elements of
namelist
point to, will have been allocated by
pmGetInDom
with two calls to
malloc(3C),
and it is the responsibility of the caller to
free(instlist)
and
free(namelist)
to release the space when it is no longer required.
When the result of
pmGetInDom
is less than one, both
instlist
and
namelist
are undefined (no space will have been allocated,
and so calling
free(3C)
is a singularly bad idea).
pmRequestInDom and pmReceiveInDom are used by applications
which must communicate with the PMCD asynchronously. These functions
take explict context handle ctx which must refer to a host
context (i.e. created by passing PM_CONTEXT_HOST to
pmNewContext). pmRequestInDom sends request to enumerate all
instances in the particular instance domain to
PMCD and returns without waiting for the response, pmReceiveInDom
reads reply from PMCD. It is the responsibility of the application
to make sure the data are ready before calling pmReceiveInDom to avoid
blocking.
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(4).
Values for these variables may be obtained programatically
using the
pmGetConfig(3)
function.