trusty (3) pmdaConnect.3.gz

Provided by: libpcp-pmda3-dev_3.8.12ubuntu1_amd64 bug

NAME

       pmdaConnect - establish a connection between a daemon PMDA and PMCD

C SYNOPSIS

       #include <pcp/pmapi.h>
       #include <pcp/impl.h>
       #include <pcp/pmda.h>

       void pmdaConnect(pmdaInterface *dispatch);

       cc ... -lpcp_pmda -lpcp

DESCRIPTION

       pmdaConnect  initializes an IPC channel between a PMDA(3) and the pmcd(1) process on the local host.  The
       type of the connection is dependent on the e_io field of the pmdaExt structure:

       pmdaPipe       Use stdin/stdout to communicate; assumes this is a pipe created by pmcd before the PMDA(3)
                      was launched.

       pmdaInet       Assume pmcd(1) will establish a connection to an IPv4 internet domain socket set up by the
                      PMDA(3).  The name or number of the port must be specified in  the  e_sockname  or  e_port
                      fields of the pmdaExt structure, respectively.

       pmdaIPv6       Assume pmcd(1) will establish a connection to an IPv6 internet domain socket set up by the
                      PMDA(3).  The name or number of the port must be specified in  the  e_sockname  or  e_port
                      fields of the pmdaExt structure, respectively.

       pmdaUnix       Assume  pmcd(1) will establish a connection to a unix domain socket set up by the PMDA(3).
                      The port number must be specified in the e_port field of the pmdaExt structure.

       pmdaUnknown    The initial value of e_io which defaults to using stdin/stdout.

       The relevant pmdaExt fields are initialized by pmdaInit(3) and set by pmdaGetOpt(3), so most PMDAs should
       not need to access or modify them.

DIAGNOSTICS

       pmdaConnect  will  log  the  type  of  connection  made to pmcd(1) if the PMAPI(3) debug control variable
       (pmDebug) has the DBG_TRACE_LIBPMDA flag set.

       If an error occurs that is unrecoverable, dispatch->status is set to a value less than 0, otherwise it is
       zero or positive.

CAVEAT

       The PMDA must be using PMDA_INTERFACE_2 or later, as specified in the call to pmdaDaemon(3).

SEE ALSO

       pmcd(1), pipe(2), socket(2), PMAPI(3), PMDA(3), pmdaDaemon(3), pmdaGetOpt(3) and pmdaInit(3).