| Current File : //usr/share/man/man3cpc/cpc_version.3cpc |
'\" 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 <libcpc.h>
\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.