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

# pmdaHelp(3)

help text support for a PMDA

## NAME

**pmdaOpenHelp**, **pmdaGetHelp**, **pmdaGetInDomHelp**, **pmdaCloseHelp** - help text support for a PMDA

## C SYNOPSIS

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

**int pmdaOpenHelp(const char \****fname***);**\
 **char \*pmdaGetHelp(int** *handle***, pmID** *pmid***, int** *type***);**\
 **char \*pmdaGetInDomHelp(int** *handle***, pmInDom** *indom***, int** *type***);**\
 **void pmdaCloseHelp(int** *handle***);**

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

## DESCRIPTION

As part of the Performance Metrics Domain Agent (PMDA) API (see [**PMDA**(3)](/PMDA/3.md)), this group of routines is used to implement the processing of a PMDA's metric help information.

These routines are really intended for internal use, and should not need to be called directly from any PMDA code.

Briefly, the base name of the help text file (as created by [**newhelp**(1)](/newhelp/1.md)) is passed in via a **-h** command line option for a daemon PMDA or as an argument to [**pmdaDaemon**(3)](/pmdaDaemon/3.md) or [**pmdaDSO**(3)](/pmdaDSO/3.md). Then **pmdaOpenHelp** is called from [**pmdaInit**(3)](/pmdaInit/3.md) and returns a *handle* that is used in subsequent calls to identify a particular help text collection (each PMDA typically has only one such collection).

Requests for help text are passed to [**pmdaText**(3)](/pmdaText/3.md) which calls **pmdaGetHelp** or **pmdaGetInDomHelp** as required.

Other than error cases in **pmdaOpenHelp**, **pmdaCloseHelp** is not called.

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

**pmdaOpenHelp** returns a negative value for failure, suitable for decoding with [**pmErrStr**(3)](/pmErrStr/3.md). **pmdaGetHelp** and **pmdaGetInDomHelp** return NULL if the corresponding help text does not exist.

## SEE ALSO

[**newhelp**(1)](/newhelp/1.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), [**pmdaText**(3)](/pmdaText/3.md) and [**pmErrStr**(3)](/pmErrStr/3.md).
