[Previous] [Contents] [Index] [Next]

Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

TraceEvent()

Trace kernel events

Synopsis:

#include <sys/neutrino.h>

int TraceEvent( int mode, 
                ... );

Arguments:

mode
A command that indicates what you want to trace. Certain modes require additional arguments.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The TraceEvent() function controls all stages of the instrumentation process such as initialization, starting, execution control and stopping. These stages consist of the following activities:


Note: This function requires the instrumented kernel. For more information, see the documentation for the System Analysis Toolkit (SAT).

Returns:

If mode is set to _NTO_TRACE_QUERYEVENTS
Number of events in the buffer, or -1 if an error occurs (errno is set).
If mode isn't set to _NTO_TRACE_QUERYEVENTS
0 for success, or -1 if an error occurs (errno is set).

Errors:

ECANCELED
The requested action has been canceled.
EFAULT
The requested action has been specified out of order.
ENOMEM
Insufficient memory to allocate the trace buffers.
ENOSUP
The requested action isn't supported.
EPERM
The application doesn't have the appropriate permission to perform the action.

Classification:

QNX Neutrino

Safety:
Cancellation point No
Interrupt handler Read the Caveats
Signal handler Yes
Thread Yes

Caveats:

You can call TraceEvent() from an interrupt/event handler. However, not all trace modes are valid in this case. The valid trace modes are:

See also:

InterruptAttach(), InterruptHookTrace()


[Previous] [Contents] [Index] [Next]