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 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 struc­
                      ture.

       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.

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


SEE ALSO

       pmcd(1), pipe(2), socket(2), PMAPI(3),  PMDA(3),  pmdaDae­
       mon(3), pmdaGetOpt(3) and pmdaInit(3).


Man(1) output converted with man2html