#include <urcu-bp.h>
#include <urcu/list.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct tracepoint_probe {
void *func;
void *data;
do { \
__tp_it_func = __tp_it_probe_ptr->func; \
__tp_cb_data = __tp_it_probe_ptr->data; \
- ((void(*)(proto))__tp_it_func)(args); \
+ URCU_FORCE_CAST(void(*)(proto), __tp_it_func)(args); \
} while ((++__tp_it_probe_ptr)->func); \
} \
rcu_read_unlock(); \
#endif /* #ifndef TRACEPOINT_LOGLEVEL */
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _UST_TRACEPOINT_H */