NAME

       __pmConnectLogger  - connect to a performance metrics log­
       ger control port


C SYNOPSIS

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

       int __pmConnectLogger(const char *hostname, int pid)

       cc ... -lpcp


DESCRIPTION

       Each instance of the Performance  Co-Pilot  (PCP)  archive
       logger  program  pmlogger(1)  supports  a  control port on
       which  __pmControlLog(3)  requests   are   received,   and
       responses  sent.  Optionally, the pmlogger(1) instance may
       be designated the ``primary'' logger.

       __pmConnectLogger may be used to establish a control  port
       connection  to the pmlogger(1) instance identified by pro­
       cess id pid on the host hostname.

       One special case is supported; for the reserved pid  value
       of  PM_LOG_CONTROL_PORT the requested connection is to the
       control port for the ``primary'' logger, whatever its pro­
       cess id might be.

       On success, __pmConnectLogger returns a non-negative inte­
       ger, that is a file descriptor that may be used in  subse­
       quent  communication  with  the pmlogger(1) instance, e.g.
       for __pmControlLog(3).

       As the control port to  pmlogger(1)  is  not  mulitplexed,
       applications  using  __pmConnectLogger should use close(2)
       to terminate the connection to pmlogger(1) as soon as they
       have finished communicating.

       If  the application connects, and the pmlogger(1) instance
       subsequently  terminates,  e.g.  becuase  the   associated
       pmcd(1)  instance is terminated, the application will have
       to explicitly  re-establish  connection  to  a  re-started
       pmlogger(1) instance by calling __pmConnectLogger again.


SEE ALSO

       pmcd(1),  pmlc(1),  pmlogger(1), PMAPI(3) and __pmControl­
       Log(3).


DIAGNOSTICS

       PM_ERR_PERMISSION
              no permission to connect  to  the  specifed  pmlog­
              ger(1) instance

              the designated pmlogger(1) instance does not exist

       -EEADDRINUSE
              the requested control port is already in use


CAVEAT

       On  Irix this routine is part of the libpcp_dev.a, so your
       compile    lines    should    include    -lpcp_dev     and
       -DHAVE_DEV_IN_LIBPCP where necessary.


Man(1) output converted with man2html