__pmParseDebug(3) convert a list of debug flags into an integer


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

int __pmParseDebug(const char *spec);

cc ... -lpcp


__pmParseDebug parses spec assuming it to be a comma separated list of PCP debug flags.

Each flag may be specified as an integer or the trailing portion of the symbolic name of the corresponding flag as reported by pmdbg(1). Symbolic names are stripped of the ``DBG_TRACE_'' prefix and may appear in either case.

As a special case, the values ``-1'' and ``ALL'' are treated as synonyms for turning on all bits except the sign bit in the result, i.e. INT_MAX from <limits.h>.

For example the debug flag DBG_TRACE_FETCH is defined in /usr/include/pcp/impl.h and may be specified in spec as 2, FETCH or fetch.


If successful, __pmParseDebug returns the value computed by the bit-wise ``or'' of each flag in the spec, suitable for assigning to the global debug trace control variable pmDebug. Otherwise the return value is less than 0 to indicate a parsing error.