cpc_version(3CPC) CPU Performance Counters Library Functions cpc_version(3CPC)NAMEcpc_version - coordinate CPC library and application versions
SYNOPSIS
cc [ flag... ] file... −lcpc [ library... ]
#include <libcpc.h>
uint_t cpc_version(uint_t version);
DESCRIPTION
The cpc_version() function takes an interface version as an argument
and returns an interface version as a result. Usually, the argument
will be the value of CPC_VER_CURRENT bound to the application when it
was compiled.
RETURN VALUES
If the version requested is still supported by the implementation,
cpc_version() returns the requested version number and the application
can use the facilities of the library on that platform. If the imple‐
mentation cannot support the version needed by the application,
cpc_version() returns CPC_VER_NONE, indicating that the application
will at least need to be recompiled to operate correctly on the new
platform, and may require further changes.
If version is CPC_VER_NONE, cpc_version() returns the most current ver‐
sion of the library.
EXAMPLES
Example 1: Protect an application from using an incompatible library.
The following lines of code protect an application from using an incom‐
patible library:
if (cpc_version(CPC_VER_CURRENT) == CPC_VER_NONE) {
/* version mismatch - library cannot translate */
exit(1);
}
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Evolving │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │Unsafe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOcpc(3CPC), cpc_open(3CPC), libcpc(3LIB), attributes(5)NOTES
The cpc_version() function exists for binary compatibility only. Source
containing this function will not compile. This function is obsolete
and might be removed in a future release. Applications should use
cpc_open(3CPC) instead.
The version number is used only to express incompatible semantic
changes in the performance counter interfaces on the given platform
within a single instruction set architecture, for example, when a new
set of performance counter registers are added to an existing proces‐
sor family that cannot be specified in the existing cpc_event_t data
structure.
SunOS 5.10 28 Mar 2005 cpc_version(3CPC)