-/*
+/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
+ *
* define_trace.h
*
* Copyright (C) 2009 Steven Rostedt <rostedt@goodmis.org>
* Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; only
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
#undef CREATE_TRACE_POINTS
#include <linux/stringify.h>
-/*
- * module.h includes tracepoints, and because ftrace.h
- * pulls in module.h:
- * trace/ftrace.h -> linux/ftrace_event.h -> linux/perf_event.h ->
- * linux/ftrace.h -> linux/module.h
- * we must include module.h here before we play with any of
- * the TRACE_EVENT() macros, otherwise the tracepoints included
- * by module.h may break the build.
- */
-#include <linux/module.h>
-
-#undef TRACE_EVENT
-#define TRACE_EVENT(name, proto, args, tstruct, assign, print) \
- DEFINE_TRACE(name)
-
-#undef TRACE_EVENT_CONDITION
-#define TRACE_EVENT_CONDITION(name, proto, args, cond, tstruct, assign, print) \
- TRACE_EVENT(name, \
- PARAMS(proto), \
- PARAMS(args), \
- PARAMS(tstruct), \
- PARAMS(assign), \
- PARAMS(print))
-
-#undef TRACE_EVENT_FN
-#define TRACE_EVENT_FN(name, proto, args, tstruct, \
- assign, print, reg, unreg) \
- DEFINE_TRACE_FN(name, reg, unreg)
-
-#undef DEFINE_EVENT
-#define DEFINE_EVENT(template, name, proto, args) \
- DEFINE_TRACE(name)
-
-#undef DEFINE_EVENT_PRINT
-#define DEFINE_EVENT_PRINT(template, name, proto, args, print) \
- DEFINE_TRACE(name)
-
-#undef DEFINE_EVENT_CONDITION
-#define DEFINE_EVENT_CONDITION(template, name, proto, args, cond) \
- DEFINE_EVENT(template, name, PARAMS(proto), PARAMS(args))
-#undef DECLARE_TRACE
-#define DECLARE_TRACE(name, proto, args) \
- DEFINE_TRACE(name)
+#undef LTTNG_TRACEPOINT_EVENT_MAP
+#define LTTNG_TRACEPOINT_EVENT_MAP(name, map, proto, args, fields)
+
+#undef LTTNG_TRACEPOINT_EVENT_MAP_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_MAP_NOARGS(name, map, fields)
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(template, name, map, proto, args)
+
+#undef LTTNG_TRACEPOINT_EVENT
+#define LTTNG_TRACEPOINT_EVENT(name, proto, args, fields)
+
+#undef LTTNG_TRACEPOINT_EVENT_CODE
+#define LTTNG_TRACEPOINT_EVENT_CODE(name, proto, args, _locvar, _code_pre, fields, _code_post)
+
+#undef LTTNG_TRACEPOINT_EVENT_CODE_MAP
+#define LTTNG_TRACEPOINT_EVENT_CODE_MAP(name, map, proto, args, _locvar, _code_pre, fields, _code_post)
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE(template, name, proto, args)
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS(template, name)
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(template, name, map)
#undef TRACE_INCLUDE
#undef __TRACE_INCLUDE
#define DECLARE_TRACE(name, proto, args)
#ifdef LTTNG_PACKAGE_BUILD
-#include "lttng-events.h"
+#include <probes/lttng-tracepoint-event-impl.h>
#endif
-#undef TRACE_EVENT
-#undef TRACE_EVENT_FN
-#undef TRACE_EVENT_CONDITION
-#undef DECLARE_EVENT_CLASS
-#undef DEFINE_EVENT
-#undef DEFINE_EVENT_PRINT
-#undef DEFINE_EVENT_CONDITION
+#undef LTTNG_TRACEPOINT_EVENT
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE
+#undef LTTNG_TRACEPOINT_EVENT_MAP
+#undef LTTNG_TRACEPOINT_EVENT_CLASS
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
+#undef LTTNG_TRACEPOINT_EVENT_CODE_MAP
+#undef LTTNG_TRACEPOINT_EVENT_CODE
+#undef LTTNG_TRACEPOINT_EVENT_MAP_NOARGS
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
#undef TRACE_HEADER_MULTI_READ
/* Only undef what we defined in this file */
# undef UNDEF_TRACE_INCLUDE_PATH
#endif
+/*
+ * We want to re-include lttng-tracepoint-event.h for a following probe.
+ */
+#undef LTTNG_TRACEPOINT_EVENT_H
+
/* We may be processing more files */
#define CREATE_TRACE_POINTS