---
name: "pmdaText"
section: "3"
platform: "linux"
package: "pcp"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmdaText"
---

# pmdaText(3)

extract metric help text for a PMDA

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

## CAVEAT

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

## DIAGNOSTICS

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

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