CPC_ACCESS(3CPC) CPU Performance Counters Library Functions

NAME


cpc_access - test access CPU performance counters

SYNOPSIS


cc [ flag... ] file... -lcpc [ library... ]
#include <libcpc.h>

int cpc_access(void);


DESCRIPTION


Access to CPU performance counters is possible only on systems where
the appropriate hardware exists and is correctly configured. The
cpc_access() function must be used to determine if the hardware
exists and is accessible on the platform before any of the interfaces
that use the counters are invoked.


When the hardware is available, access to the per-process counters is
always allowed to the process itself, and allowed to other processes
mediated using the existing security mechanisms of /proc.

RETURN VALUES


Upon successful completion, cpc_access() returns 0. Otherwise, it
returns -1 and sets errno to indicate the error.


By default, two common errno values are decoded and cause the library
to print an error message using its reporting mechanism. See
cpc_seterrfn(3CPC) for a description of how this behavior can be
modified.

ERRORS


The cpc_access() function will fail if:

EAGAIN
Another process may be sampling system-wide CPU statistics.


ENOSYS
CPU performance counters are inaccessible on this machine.
This error can occur when the machine supports CPU
performance counters, but some software components are
missing. Check to see that all CPU Performance Counter
packages have been correctly installed.


ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
|Interface Stability | Obsolete |
+--------------------+-----------------+

SEE ALSO


cpc(3CPC), cpc_open(3CPC), cpc_seterrfn(3CPC), libcpc(3LIB), proc(5),
attributes(7)

NOTES


The cpc_access() 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.

March 28, 2005 CPC_ACCESS(3CPC)

tribblix@gmail.com :: GitHub :: Privacy