
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
        "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- MyFirstUnitAd -->
<ins class="adsbygoogle"
     style="display:inline-block;width:970px;height:250px"
     data-ad-client="ca-pub-5778386704669218"
     data-ad-slot="1503492166"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <link rel="stylesheet" type="text/css" href="../../../style.css" title="style" />
    <link rel="stylesheet" type="text/css" href="../style.css" title="style" />
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />

    <title>pmgetversion(3) - Linux manual page</title>
</head>

<body>

<div class="page-top"><a id="top_of_page"></a></div>
<!--%%%TOP_BAR%%%-->
    <div class="nav-bar">
        <table class="nav-table">
            <tr>
                <td class="nav-cell">
                    <p class="nav-text">
                        <a href="http://man7.org/index.html">man7.org</a> &gt; Linux &gt; <a href="../index.html">man-pages</a>
                    </p>
                </td>
                <td class="training-cell">
                    <p class="training-text"><a class="training-link" href="http://man7.org/training/">Linux/UNIX system programming training</a></p>
                </td>
            </tr>
        </table>
    </div>

<hr class="nav-end" />

<!--%%%PAGE_START%%%-->


<table class="sec-table">
<tr>
    <td>
        <p class="section-dir">
<a href="pmGetVersion.3.html#NAME">NAME</a> | <a href="pmGetVersion.3.html#C_SYNOPSIS">C&nbsp;SYNOPSIS</a> | <a href="pmGetVersion.3.html#DESCRIPTION">DESCRIPTION</a> | <a href="pmGetVersion.3.html#EXAMPLE">EXAMPLE</a> | <a href="pmGetVersion.3.html#SEE_ALSO">SEE&nbsp;ALSO</a> | <a href="pmGetVersion.3.html#DIAGNOSTICS">DIAGNOSTICS</a> | <a href="pmGetVersion.3.html#COLOPHON">COLOPHON</a>
        </p>
    </td>
    <td class="search-box">
        <div class="man-search-box">

            <form method="get" action="http://www.google.com/search">
                <fieldset class="man-search">
                    <input type="text" name="q" size="10" maxlength="255" value="" />
                    <input type="hidden" name="sitesearch" value="man7.org/linux/man-pages" />
                    <input type="submit" name="sa" value="Search online pages" />
                </fieldset>
            </form>

        </div>
    </td>
    <td> </td>
</tr>
</table>

<pre>
<span class="headline">PMGETVERSION(3)           Library Functions Manual           PMGETVERSION(3)</span>
</pre>
<h2><a id="NAME" href="pmGetVersion.3.html#NAME"></a>NAME  &nbsp; &nbsp; &nbsp; &nbsp; <a href="pmGetVersion.3.html#top_of_page"><span class="top-link">top</span></a></h2><pre>
       <b>pmGetVersion </b>- fetch installed PCP version number
</pre>
<h2><a id="C_SYNOPSIS" href="pmGetVersion.3.html#C_SYNOPSIS"></a>C SYNOPSIS  &nbsp; &nbsp; &nbsp; &nbsp; <a href="pmGetVersion.3.html#top_of_page"><span class="top-link">top</span></a></h2><pre>
       <b>#include &lt;pcp/pmapi.h&gt;</b>

       <b>int pmGetVersion(void);</b>

       <b>cc ... -lpcp</b>
</pre>
<h2><a id="DESCRIPTION" href="pmGetVersion.3.html#DESCRIPTION"></a>DESCRIPTION  &nbsp; &nbsp; &nbsp; &nbsp; <a href="pmGetVersion.3.html#top_of_page"><span class="top-link">top</span></a></h2><pre>
       <b>pmGetVersion </b>returns a binary encoding of the locally installed PCP
       version number.

       This may be used in conjunction with the related macros
       <b>PM_VERSION</b>(a,b,c) and <b>PM_VERSION_CURRENT </b>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 <b>pmGetConfig </b>with the argument <b>PCP_VERSION</b>.

       <b>pmGetVersion </b>was introduced in PCP 3.10.5.
</pre>
<h2><a id="EXAMPLE" href="pmGetVersion.3.html#EXAMPLE"></a>EXAMPLE  &nbsp; &nbsp; &nbsp; &nbsp; <a href="pmGetVersion.3.html#top_of_page"><span class="top-link">top</span></a></h2><pre>
       The following C fragment demonstrates the use of both the compile-
       time macros and the run-time <b>pmGetVersion </b>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 &lt;pcp/pmapi.h&gt;

       #ifdef PM_VERSION_CURRENT
       #if PM_VERSION_CURRENT &lt; 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 &gt;= 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
</pre>
<h2><a id="SEE_ALSO" href="pmGetVersion.3.html#SEE_ALSO"></a>SEE ALSO  &nbsp; &nbsp; &nbsp; &nbsp; <a href="pmGetVersion.3.html#top_of_page"><span class="top-link">top</span></a></h2><pre>
       <a href="PMAPI.3.html">PMAPI(3)</a>, and <a href="pmGetConfig.3.html">pmGetConfig(3)</a>.
</pre>
<h2><a id="DIAGNOSTICS" href="pmGetVersion.3.html#DIAGNOSTICS"></a>DIAGNOSTICS  &nbsp; &nbsp; &nbsp; &nbsp; <a href="pmGetVersion.3.html#top_of_page"><span class="top-link">top</span></a></h2><pre>
       None.
</pre>
<h2><a id="COLOPHON" href="pmGetVersion.3.html#COLOPHON"></a>COLOPHON  &nbsp; &nbsp; &nbsp; &nbsp; <a href="pmGetVersion.3.html#top_of_page"><span class="top-link">top</span></a></h2><pre>
       This page is part of the <i>PCP</i> (Performance Co-Pilot) project.
       Information about the project can be found at ⟨<a href="http://www.pcp.io/">http://www.pcp.io/</a>⟩.
       If you have a bug report for this manual page, send it to
       pcp@groups.io.  This page was obtained from the project's upstream
       Git repository ⟨<a href="https://github.com/performancecopilot/pcp.git">https://github.com/performancecopilot/pcp.git</a>⟩ on
       2018-02-02.  (At that time, the date of the most recent commit that
       was found in the repository was 2018-02-02.)  If you discover any
       rendering problems in this HTML version of the page, or you believe
       there is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is <i>not</i> part of the original manual page), send a mail to
       man-pages@man7.org

<span class="footline">Performance Co-Pilot                 PCP                     PMGETVERSION(3)</span>
</pre>

<hr class="end-man-text" />
<p>Pages that refer to this page: 
    <a href="pmgetconfig.3.html">pmgetconfig(3)</a>
</p>
<hr/>

 
<hr class="start-footer" />

<div class="footer"> 

<table class="colophon-table">
    <tr>
    <td class="pub-info">
        <p>
            HTML rendering created 2018-02-02
            by <a href="http://man7.org/mtk/index.html">Michael Kerrisk</a>, 
            author of 
            <a href="http://man7.org/tlpi/"><em>The Linux Programming Interface</em></a>, 
            maintainer of the 
            <a href="https://www.kernel.org/doc/man-pages/">Linux <em>man-pages</em> project</a>.
        </p>
        <p>
            For details of in-depth
            <strong>Linux/UNIX system programming training courses</strong>
            that I teach, look <a href="http://man7.org/training/">here</a>.
        </p>
        <p>
            Hosting by <a href="http://www.jambit.com/index_en.html">jambit GmbH</a>.
        </p>
        <p>
            <a href="http://validator.w3.org/check?uri=referer">
            <img src="http://www.w3.org/Icons/valid-xhtml11"
                alt="Valid XHTML 1.1" height="31" width="88" />
            </a>
        </p>
    </td>
    <td class="colophon-divider">
    </td>
    <td class="tlpi-cover">
        <a href="http://man7.org/tlpi/"><img src="../../../tlpi/cover/TLPI-front-cover-vsmall.png" alt="Cover of TLPI" /></a>
    </td>
    </tr>
</table>

</div>

<hr class="end-footer" />



<!--BEGIN-SITETRACKING-->
<!-- SITETRACKING.man7.org_linux_man-pages -->

<!-- Start of StatCounter Code (xhtml) -->

<script type="text/javascript">
//<![CDATA[
var sc_project=7422636; 
var sc_invisible=1; 
var sc_security="9b6714ff"; 
//]]>
</script>
<script type="text/javascript"
src="http://www.statcounter.com/counter/counter_xhtml.js"></script>
<noscript><div class="statcounter"><a title="website
statistics" href="http://statcounter.com/"
class="statcounter"><img class="statcounter"
src="http://c.statcounter.com/7422636/0/9b6714ff/1/"
alt="website statistics" /></a></div></noscript>

<!-- End of StatCounter Code -->


<!-- Start of Google Analytics Code -->

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-9830363-8']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

<!-- End of Google Analytics Code -->

<!--END-SITETRACKING-->

</body>
</html>
