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

# pmRequestInDomText(3)

return text describing a performance metrics instance domain

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

## NAME

**pmLookupInDomText**, **pmRequestInDomText** - return text describing a performance metrics instance domain

## C SYNOPSIS

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

```
int pmLookupInDomText(pmInDom indom, int level, char **buffer)
int pmRequestInDomText(int ctx, pmInDom indom, int level)
```

**cc ... -lpcp**

## DESCRIPTION

Provided the source of metrics from the current Performance Metrics Application Programming Interface (PMAPI) context is a host, retrieve descriptive text about the performance metrics instance domain identified by *indom*.

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 argument *level* should be  **PM\_TEXT\_ONELINE** for a one-line summary, else **PM\_TEXT\_HELP** for a more verbose description, suited to a help dialog.

The space pointed to by *buffer* will have been allocated in **pmLookupInDomText** with **malloc**(3C), and it is the responsibility of the caller to **free**(3C) the space when it is no longer required.

**pmLookupInDomText** returns zero on success.

**pmRequestInDomText** and **pmReceiveText** 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**). **pmRequestInDomText** sends request to PMCD to provide descriptive text about performance metrics instance domain identified by *indom* and returns without waiting for the response, **pmReceiveText** reads reply from PMCD. It is the responsibility of the application to make sure the data are ready before calling **pmReceiveText** to avoid blocking.

## SEE ALSO

[**chkhelp**(1)](/chkhelp/1.md), [**newhelp**(1)](/newhelp/1.md), [**PMAPI**(3)](/PMAPI/3.md), [**pmGetConfig**(3)](/pmGetConfig/3.md), [**pmLookupDesc**(3)](/pmLookupDesc/3.md), [**pmLookupText**(3)](/pmLookupText/3.md), [**pmReceiveText**(3)](/pmReceiveText/3.md), [**pcp.conf**(4)](/pcp.conf/4.md) and [**pcp.env**(4)](/pcp.env/4.md).

## DIAGNOSTICS

- **PM\_ERR\_NOTHOST**

  if the current PMAPI context is an archive log (help and one-line text is not maintained in the archive logs)

- **PM\_ERR\_CTXBUSY**

  Context is currently in use by another asynchronous call.
