Provided by: libpcp3-dev_4.0.1-1_amd64 bug

NAME

       pmGetVersion - fetch installed PCP version number

C SYNOPSIS

       #include <pcp/pmapi.h>

       int pmGetVersion(void);

       cc ... -lpcp

DESCRIPTION

       pmGetVersion returns a binary encoding of the locally installed PCP version number.

       This  may  be  used  in conjunction with the related macros PM_VERSION(a,b,c) and PM_VERSION_CURRENT that
       generate PCP version numbers in the same format.  Refer to the example below.

       The encoding uses one byte for each of the parts of the version number  of  the  installed  PCP  package,
       namely  the  major number, the minor number and the revision number.  So PCP version 3.10.5 is encoded as
       0x30a05.

       The string format of the installed PCP package version number as also available from pmGetConfig with the
       argument PCP_VERSION.

       pmGetVersion was introduced in PCP 3.10.5.

EXAMPLE

       The  following  C  fragment  demonstrates  the  use  of  both  the  compile-time  macros and the run-time
       pmGetVersion function for an application that should not be built for PCP versions older than 3.10.5, but
       after  that  there are two alternative implementations with a newer (faster, sweeter, smaller) variant of
       the XYZ service that only becoming available in PCP 4.0.0.

       #include <pcp/pmapi.h>

       #ifdef PM_VERSION_CURRENT
       #if PM_VERSION_CURRENT < PM_VERSION(3,10,5)
           /* no pmGetVersion() before PCP 3.10.5 */
           printf("PCP version 0x%x too old\n", PM_VERSION_CURRENT);
       #endif
           version = pmGetVersion();
           if (version >= PM_VERSION(4,0,0) {
            /* V2 of the XYZ service introduced in PCP 4.0.0 */
            printf("Using V2 of service XYZ\n")
            ...
           }
           else {
            printf("Using V1 of service XYZ\n")
            ...
           }
       #else
           {
            char *ver = pmGetConfig("PCP_VERSION");
            /* only option is to extract version number from returned string */
            ...
           }
       #endif

SEE ALSO

       PMAPI(3), and pmGetConfig(3).

DIAGNOSTICS

       None.