traceparser_cs()

Attach a callback to a trace event

Synopsis:

#include <sys/traceparser.h>

int traceparser_cs ( 
   struct traceparser_state * stateptr, 
   void * userdata,
   tracep_callb_func_t funcptr, 
   unsigned class, 
   unsigned event );

Arguments:

stateptr
A pointer to the parser's state information, obtained by calling traceparser_init().
userdata
A pointer to arbitrary user data that you want to pass to the callback function.
funcptr
A pointer to the callback function that you want to register. For more information, see Callback function,” below.
class
The class of trace events that you want to invoke the callback function for.
event
The specific trace event that you want to invoke the callback function for. This event must be a member of the given class.

Library:

libtraceparser

Use the -l traceparser option to qcc to link against this library.

Description:

The traceparser_cs() function attaches the callback function specified by the pointer funcptr, to one particular event, from one particular class. You'll use this function if you're creating your own utility for parsing trace data (as an alternative to traceprinter).

The user data (userdata) is passed to the callback function upon execution. The stateptr is an opaque structure obtained from traceparser_init().

Callback function

The synopsis of the callback function is defined by the tracep_callb_func_t data type as follows:

int my_callback( struct traceparser_state* statepointer,
                 void * userdata,
                 unsigned header,
                 unsigned timestamp,
                 unsigned* buffer,
                 unsigned buffer_len)

The arguments are:

stateptr
A pointer to the parser's state information, obtained by calling traceparser_init().
userdata
A pointer to arbitrary user data that you want to pass to the callback function.
header
The header of the event. For information about some macros for extracting information from this member, see Macros for use with the event header in the entry for TraceEvent().
timestamp
The time of the event.
buffer
A pointer to a buffer for the callback to use.
buffer_len
The length of the buffer, in bytes.

The callback should return 0 to indicate success, and -1 to indicate failure.

Returns:

0
Success.
-1
Failure; errno is set. See also traceparser_get_info() for further details.

Classification:

QNX Neutrino

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread No

See also:

TraceEvent(), traceparser(), traceparser_cs_range(), traceparser_debug(), traceparser_destroy(), traceparser_get_info(), traceparser_init()

tracelogger, traceprinter in the Utilities Reference

System Analysis Toolkit User's Guide

Analyzing Your System with Kernel Tracing chapter of the Integrated Development Environment User's Guide