NAME
pmNameInDom, pmRequestInDomName, pmReceiveInDomName - translate an
instance identifier into an instance name
C SYNOPSIS
#include <pcp/pmapi.h>
int pmNameInDom(pmInDom indom, int inst, char **name)
int pmRequestInDomName(int ctx, pmInDom indom, int inst)
int pmReceiveInDomName(int ctx, char **name)
cc ... -lpcp
DESCRIPTION
For the instance domain indom, in the current Performance Metrics
Application Programming Interface (PMAPI) context, locate the instance
with the internal instance identifier given by inst, and return the
full external instance identification via name.
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 space for the value of name will have been allocated in pmNameInDom
with malloc(3C), and it is the responsibility of the caller to free(3C)
the space when it is no longer required.
pmNameInDom returns zero on success.
pmRequestInDomName and pmReceiveInDomName are used by applications
which must communicate with the PMCD asynchornously. These functions
take explict context handle ctx which must refer to a host context
(i.e. creared by passing PM_CONTEXT_HOST to pmNewContext).
pmRequestInDomName sends request to translate internal instance
identifier to external instance name to PMCD and returns immediately,
pmReceiveInDomName reads reply from PMCD without waiting, it is the
responsibility of the application to make sure the data are ready
before calling pmReceiveInDomName.
SEE ALSO
PMAPI(3), pmGetConfig(3), pmGetInDom(3), pmLookupInDom(3), pcp.conf(4)
and pcp.env(4).
DIAGNOSTICS
PM_ERR_INDOM
indom is not a valid instance domain identifier
PM_ERR_INST
The instance identifier inst is not known for the instance
domain indom in the current PMAPI context
PM_ERR_CTXBUSY
Context is currently in use by another asynchronous call