Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

cpc_version(3cpc) [opensolaris man page]

cpc_version(3CPC)				    CPU Performance Counters Library Functions					 cpc_version(3CPC)

NAME
cpc_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 implementation 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 version 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 incompatible 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 ALSO
cpc(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 obso- lete 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 processor family that cannot be specified in the existing cpc_event_t data structure. SunOS 5.11 28 Mar 2005 cpc_version(3CPC)

Check Out this Related Man Page

cpc_open(3CPC)					    CPU Performance Counters Library Functions					    cpc_open(3CPC)

NAME
cpc_open, cpc_close - initialize the CPU Performance Counter library SYNOPSIS
cc [ flag... ] file... -lcpc [ library... ] #include <libcpc.h> cpc_t *cpc_open(int vers); int cpc_close(cpc_t *cpc); DESCRIPTION
The cpc_open() function initializes libcpc(3LIB) and returns an identifier that must be used as the cpc argument in subsequent libcpc func- tion calls. The cpc_open() function takes an interface version as an argument and returns NULL if that version of the interface is incom- patible with the libcpc implementation present on the system. Usually, the argument has the value of CPC_VER_CURRENT bound to the applica- tion when it was compiled. The cpc_close() function releases all resources associated with the cpc argument. Any bound counters utilized by the process are unbound. All entities of type cpc_set_t and cpc_buf_t are invalidated and destroyed. RETURN VALUES
If the version requested is supported by the implementation, cpc_open() returns a cpc_t handle for use in all subsequent libcpc operations. If the implementation cannot support the version needed by the application, cpc_open() returns NULL, indicating that the application at least needs to be recompiled to operate correctly on the new platform and might require further changes. The cpc_close() function always returns 0. ERRORS
These functions will fail if: EINVAL The version requested by the client is incompatible with the implementation. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ |MT-Level |Safe | +-----------------------------+-----------------------------+ SEE ALSO
libcpc(3LIB), attributes(5) SunOS 5.11 30 Jan 2004 cpc_open(3CPC)
Man Page