'\" te .\" Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. .TH cpc_version 3CPC "15 Jan 2014" "SunOS 5.11" "CPU Performance Counters Library Functions" .SH NAME cpc_version \- coordinate CPC library and application versions .SH SYNOPSIS .LP .nf cc [ \fIflag\fR... ] \fIfile\fR... \(milcpc [ \fIlibrary\fR... ] #include \fBuint_t\fR \fBcpc_version\fR(\fBuint_t\fR \fIversion\fR); .fi .SH DESCRIPTION .sp .LP The \fBcpc_version()\fR function takes an interface version as an argument and returns an interface version as a result. Usually, the argument will be the value of \fBCPC_VER_CURRENT\fR bound to the application when it was compiled. .SH RETURN VALUES .sp .LP If the version requested is still supported by the implementation, \fBcpc_version()\fR returns the requested version number and the application can use the facilities of the library on that platform. If the implementation cannot support the version needed by the application, \fBcpc_version()\fR returns \fBCPC_VER_NONE\fR, indicating that the application will at least need to be recompiled to operate correctly on the new platform, and may require further changes. .sp .LP If \fIversion\fR is \fBCPC_VER_NONE\fR, \fBcpc_version()\fR returns the most current version of the library. .SH EXAMPLES .LP \fBExample 1 \fRProtect an application from using an incompatible library. .sp .LP The following lines of code protect an application from using an incompatible library: .sp .in +2 .nf if (cpc_version(CPC_VER_CURRENT) == CPC_VER_NONE) { /* version mismatch - library cannot translate */ exit(1); } .fi .in -2 .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ Interface StabilityObsolete _ MT-LevelUnsafe .TE .SH SEE ALSO .sp .LP \fBcpc\fR(3CPC), \fBcpc_open\fR(3CPC), \fBlibcpc\fR(3LIB), \fBattributes\fR(5) .SH NOTES .sp .LP The \fBcpc_version()\fR 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 \fBcpc_open\fR(3CPC) instead. .sp .LP 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 processor family that cannot be specified in the existing \fBcpc_event_t\fR data structure.