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

# pmRequestInDomInst(3)

translate an instance name into an instance identifier

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

## NAME

**pmLookupInDom**, **pmRequestInDomInst**, **pmReceiveInDomInst** - translate an instance name into an instance identifier

## C SYNOPSIS

**#include \<pcp/pmapi.h\>**

```
int pmLookupInDom(pmInDom indom, const char *name)
int pmRequestInDomInst(int ctx, pmInDom indom, const char *name)
int pmReceiveInDomInst(int ctx)
```

**cc ... -lpcp**

## DESCRIPTION

For the instance domain *indom*, in the current Performance Metrics Application Programming Interface (PMAPI) context, locate the instance with the external identification given by *name*, and return the internal instance identifier.

Only the leading non-space characters of *name* will be used to identify the instance.

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.

**pmLookupInDom** will return a positive instance identifier on success.

**pmRequestInDomInst** and **pmReceiveInDomInst** 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**). **pmRequestInDomInst** sends request to translate external instance name to internal instance identifier to  PMCD and returns without waiting for the response, **pmReceiveInDomInst** reads reply from PMCD. It is the responsibility of the application to make sure the data are ready before calling **pmReceiveInDomInst** to avoid blocking.

## SEE ALSO

[**PMAPI**(3)](/PMAPI/3.md), [**pmGetConfig**(3)](/pmGetConfig/3.md), [**pmGetInDom**(3)](/pmGetInDom/3.md), [**pmLookupDesc**(3)](/pmLookupDesc/3.md), [**pmNameInDom**(3)](/pmNameInDom/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 external instance *name* 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.
