Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pmdaconnect(3) [centos man page]

PMDACONNECT(3)						     Library Functions Manual						    PMDACONNECT(3)

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 depen- dent 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). Performance Co-Pilot PCP PMDACONNECT(3)

Check Out this Related Man Page

PMDAGETOPT(3)						     Library Functions Manual						     PMDAGETOPT(3)

NAME
pmdaGetOpt - get options from argument vector, trapping generic PMDA options C SYNOPSIS
#include <pcp/pmapi.h> #include <pcp/impl.h> #include <pcp/pmda.h> int pmdaGetOpt(int argc, char *const *argv, const char *optstring, pmdaInterface *dispatch, int *err); cc ... -lpcp_pmda -lpcp DESCRIPTION
This function is a wrapper for getopt(3). The behavior of the function is identical except that certain options are assumed to have a pre- defined behavior which initializes several fields in the pmdaInterface structure. The options that pmdaGetOpt will trap are: -Dtrace Set the PMAPI(3) debug control variable (pmDebug) to trace. Used for controlling levels of trace output while debugging. -ddomain Set the domain number of this agent. -hhelpfile Obtain the help text (see pmdaText(3)) for the metrics from this file rather than from the path specified with pmdaDSO(3) or pmdaDaemon(3). -iport Expect PMCD to connect on inet port (number or name). -6port Expect PMCD to connect on ipv6 port (number or name). -llogfile Redirect diagnostics and trace output to logfile. -p Expect PMCD to supply stdin/stdout pipe. -usocket Expect PMCD to connect on unix domain socket. Only one of -i, -6, -p and -u may be specified. If none of these three options is given, a pipe (-p) is assumed. When these options are encountered by pmdaGetOpt, the option is processed and the next option is examined. Therefore, pmdaGetOpt will only return when an option other than those listed above is found, or the end of the list is reached. The returned value will be the argument or EOF, respectively. A PMDA can control which of these options the program will accept with the optstring argument. To accept all the options, the PMDA should call pmdaGetOpt with the option string "D:d:h:i:l:pu:". Any PMDA specific options should be added to this string in the style of getopt(3), and returned by pmdaGetOpt if encountered. However, the PMDA cannot reuse any of the options specified above. pmdaGetOpt takes a pointer to an int, err, which is used as an error count. This variable should be initialized to zero before pmdaGetOpt is first called, and tested when pmdaGetOpt returns EOF. pmdaGetOpt does not modify argc or argv. EXAMPLE
A PMDA which takes the additional argument -n and does not use pmDebug might call pmdaGetOpt like this: pmdaInterface dispatch; int err = 0; int c = 0; while ((c = pmdaGetOpt(argv, argc, "d:h:i:l:pu:6:n:", dispatch &err)) != EOF) { /* process argument 'n', may use optarg etc. */ } if (err) usage(argv[0]); The global variables used by getopt (3) may be used by the caller of pmdaGetOpt within the argument parsing loop. DIAGNOSTICS
pmdaGetOpt will display the same error messages as getopt. CAVEAT
The options -D, -d, -i, -l, -p and -u cannot be reused for other purposes by the PMDA. The PMDA must be using PMDA_INTERFACE_2 or later, as specified in the call to pmdaDSO(3) or pmdaDaemon(3). SEE ALSO
pmdbg(1), getopt(3), PMAPI(3), PMDA(3), pmdaDaemon(3), pmdaDSO(3) and pmdaText(3). Performance Co-Pilot PCP PMDAGETOPT(3)
Man Page