---
name: "pmdatext"
section: "3"
platform: "linux"
package: "libpcp-pmda3-dev"
version: "4.3.2+really4.3.1-0.1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/pmdaText"
---

# pmdatext(3)

extract metric help text for a PMDA

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

## NAME

**pmdaText** - extract metric help text for a PMDA

## C SYNOPSIS

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

**int pmdaText(int** *ident***, int** *type***, char \*\****buffer***, pmdaExt \****pmda***);**

**cc ... -lpcp\_pmda -lpcp**

## DESCRIPTION

As part of the Performance Metrics Domain Agent (PMDA) API (see [**PMDA**(3)](/PMDA/3.md)), **pmdaText** uses the standard [**PMDA**(3)](/PMDA/3.md) data structures to return the help text for metric *ident* in *buffer*. The help text must be located in help text files created with [**newhelp**(1)](/newhelp/1.md), and the associated files are automatically opened by [**pmdaInit**(3)](/pmdaInit/3.md).

The path to the (basename of the) help text files can be set in the calls to [**pmdaDSO**(3)](/pmdaDSO/3.md) or [**pmdaDaemon**(3)](/pmdaDaemon/3.md) and overridden by the  **-h** command line option in [**pmdaGetOpt**(3)](/pmdaGetOpt/3.md).

The encoding of *ident* follows the internal scheme used below the routines [**pmLookupText**(3)](/pmLookupText/3.md) and [**pmLookupInDomText**(3)](/pmLookupInDomText/3.md), namely *ident* encodes either a metric identifier or an instance domain identifier, according to the value of *type*.

The *type* argument is a bit mask that encodes the interpretation of *ident* and the requested form of help text, as follows: either **PM\_TEXT\_PMID** if *ident* is a metric identifier, or **PM\_TEXT\_INDOM** if *ident* is an instance domain identifier, plus either **PM\_TEXT\_ONELINE** for the one line help text or **PM\_TEXT\_HELP** for the full help text.

The *buffer* is managed internally (usually it is cached), and it should **not** be released or freed by the caller of **pmdaText**.

## DIAGNOSTICS

If the requested help text could not be obtained,  **pmdaText** will return **PM\_ERR\_TEXT**.

## CAVEAT

The PMDA must be using  **PMDA\_PROTOCOL\_2** or later, as specified in the call to  [**pmdaDSO**(3)](/pmdaDSO/3.md) or  [**pmdaDaemon**(3)](/pmdaDaemon/3.md).

## SEE ALSO

[**newhelp**(1)](/newhelp/1.md), [**malloc**(3)](/malloc/3.md), [**PMAPI**(3)](/PMAPI/3.md), [**PMDA**(3)](/PMDA/3.md), [**pmdaDaemon**(3)](/pmdaDaemon/3.md), [**pmdaDSO**(3)](/pmdaDSO/3.md), [**pmdaInit**(3)](/pmdaInit/3.md), [**pmLookupInDomText**(3)](/pmLookupInDomText/3.md) and [**pmLookupText**(3)](/pmLookupText/3.md).
