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.
Classification:
QNX Neutrino
Safety: |
|
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
No |
Thread |
No |