---
name: "pmRequestInDomName"
section: "3"
platform: "linux"
package: "libpcp3-dev"
version: "3.3.3-squeeze3"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/pmNameInDom"
---

# pmRequestInDomName(3)

translate an instance identifier into an instance name

Part of [pmNameInDom(3)](/pmNameInDom/3.md).

## 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)](/pmLookupDesc/3.md) 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)](/PMAPI/3.md), [**pmGetConfig**(3)](/pmGetConfig/3.md), [**pmGetInDom**(3)](/pmGetInDom/3.md), [**pmLookupInDom**(3)](/pmLookupInDom/3.md), [**pcp.conf**(4)](/pcp.conf/4.md) and [**pcp.env**(4)](/pcp.env/4.md).

## 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
