Applications can be built with g++, but tracepoint probes need to be
built with gcc.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
#include <bits/wordsize.h>
#include <urcu/list.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct ust_marker;
struct ust_marker_probe_array;
*/
#define MARK_NOARGS UST_MARKER_NOARGS
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _UST_MARKER_H */
#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 */
#ifndef _UST_H
#define _UST_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef struct ust_fork_info {
sigset_t orig_sigs;
} ust_fork_info_t;
extern void ust_after_fork_parent(ust_fork_info_t *fork_info);
extern void ust_after_fork_child(ust_fork_info_t *fork_info);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _UST_H */
#if !defined(_TRACEPOINT_UST_TESTS_HELLO_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
#define _TRACEPOINT_UST_TESTS_HELLO_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*
/* This part must be outside protection */
#include <ust/tracepoint-event.h>
+
+#ifdef __cplusplus
+}
+#endif