35 #ifndef __OMPT_INTERNAL_H__
36 #define __OMPT_INTERNAL_H__
39 #include "ompt-event-specific.h"
41 #define OMPT_VERSION 1
43 #define _OMP_EXTERN extern "C"
47 #define ompt_callback(e) e ## _callback
53 ompt_status_disabled = 0x0,
54 ompt_status_ready = 0x1,
55 ompt_status_track = 0x2,
56 ompt_status_track_callback = 0x6,
60 typedef struct ompt_callbacks_s {
61 #define ompt_event_macro(event, callback, eventid) callback ompt_callback(event);
63 FOREACH_OMPT_EVENT(ompt_event_macro)
65 #undef ompt_event_macro
73 ompt_task_id_t task_id;
78 ompt_parallel_id_t parallel_id;
83 typedef struct ompt_lw_taskteam_s {
84 ompt_team_info_t ompt_team_info;
85 ompt_task_info_t ompt_task_info;
86 struct ompt_lw_taskteam_s *parent;
90 typedef struct ompt_parallel_info_s {
91 ompt_task_id_t parent_task_id;
92 ompt_parallel_id_t parallel_id;
93 ompt_frame_t *parent_task_frame;
94 void *parallel_function;
95 } ompt_parallel_info_t;
100 ompt_wait_id_t wait_id;
102 } ompt_thread_info_t;
105 extern ompt_status_t ompt_status;
106 extern ompt_callbacks_t ompt_callbacks;
112 void ompt_init(
void);
113 void ompt_fini(
void);