13 #ifndef _VT_PLUGIN_CNTR_H
14 #define _VT_PLUGIN_CNTR_H
16 #include "vt_inttypes.h"
21 enum vt_plugin_cntr_synch {
22 VT_PLUGIN_CNTR_SYNCH = 0,
23 VT_PLUGIN_CNTR_ASYNCH_EVENT,
24 VT_PLUGIN_CNTR_ASYNCH_POST_MORTEM,
25 VT_PLUGIN_CNTR_ASYNCH_CALLBACK,
26 VT_PLUGIN_CNTR_SYNCH_TYPE_MAX
31 enum vt_plugin_cntr_per {
32 VT_PLUGIN_CNTR_PER_THREAD = 0,
33 VT_PLUGIN_CNTR_PER_PROCESS,
34 VT_PLUGIN_CNTR_PER_HOST,
36 VT_PLUGIN_CNTR_RUN_PER_MAX
41 enum vt_plugin_callback_return {
42 VT_PLUGIN_CNTR_CALLBACK_OK = 0,
43 VT_PLUGIN_CNTR_CALLBACK_BUFFER_FULL = 1,
44 VT_PLUGIN_CNTR_CALLBACK_TRACE_OFF_PERMANENT = 2
50 #define VT_PLUGIN_CNTR_ACC 1<<0
52 #define VT_PLUGIN_CNTR_ABS 1<<1
55 #define VT_PLUGIN_CNTR_START 1<<2
58 #define VT_PLUGIN_CNTR_POINT 1<<3
61 #define VT_PLUGIN_CNTR_LAST 1<<4
64 #define VT_PLUGIN_CNTR_NEXT 1<<5
67 #define VT_PLUGIN_CNTR_SIGNED 1<<6
68 #define VT_PLUGIN_CNTR_UNSIGNED 1<<7
70 #define VT_PLUGIN_CNTR_FLOAT 1<<8
71 #define VT_PLUGIN_CNTR_DOUBLE 1<<9
73 #define VT_PLUGIN_CNTR_VERSION 2;
82 uint32_t cntr_property;
99 uint32_t vt_plugin_cntr_version;
104 int32_t(*init)(void);
112 int32_t (*add_counter)(
char * event_name);
118 int32_t (*enable_counter)(int32_t ID);
124 int32_t (*disable_counter)(int32_t ID);
130 int32_t (*is_thread_registered)(void);
138 uint64_t (*get_current_value)(int32_t ID);
141 void (*set_pform_wtime_function)(uint64_t(*pform_wtime)(void));
159 int32_t (*set_callback_function)(
void *, int32_t,
163 void (*finalize)(void);
166 uint64_t reserved[100];
Definition: vt_plugin_cntr.h:86
Definition: vt_plugin_cntr.h:93
Definition: vt_plugin_cntr.h:76