Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   pmgetversion    ( 3 )

получить номер установленной версии PCP (fetch installed PCP version number)

Имя (Name)

pmGetVersion - fetch installed PCP version number


Синопсис C (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.


Примеры (Examples)

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).