Cleanup: Move headers from probes/ to include/lttng/
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 6 May 2020 13:45:16 +0000 (09:45 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 6 May 2020 14:33:17 +0000 (10:33 -0400)
- Remove extra "lttng-" from filename (now implied by the path).
- Adapt includes accordingly.
- Adapt lttng-syscalls-generate-headers.sh header generation script
  accordingly.
- Remove probes/lttng.h, include its PARAMS() define in the two
  user headers.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
79 files changed:
include/lttng/define_trace.h [new file with mode: 0644]
include/lttng/events-nowrite.h [new file with mode: 0644]
include/lttng/events-reset.h [new file with mode: 0644]
include/lttng/events-write.h [new file with mode: 0644]
include/lttng/probe-user.h [new file with mode: 0644]
include/lttng/tracepoint-event-impl.h [new file with mode: 0644]
include/lttng/tracepoint-event.h [new file with mode: 0644]
include/lttng/types.h [new file with mode: 0644]
instrumentation/events/lttng-module/9p.h
instrumentation/events/lttng-module/arch/x86/exceptions.h
instrumentation/events/lttng-module/arch/x86/irq_vectors.h
instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h
instrumentation/events/lttng-module/arch/x86/kvm/trace.h
instrumentation/events/lttng-module/asoc.h
instrumentation/events/lttng-module/block.h
instrumentation/events/lttng-module/btrfs.h
instrumentation/events/lttng-module/compaction.h
instrumentation/events/lttng-module/ext3.h
instrumentation/events/lttng-module/ext4.h
instrumentation/events/lttng-module/gpio.h
instrumentation/events/lttng-module/i2c.h
instrumentation/events/lttng-module/irq.h
instrumentation/events/lttng-module/jbd.h
instrumentation/events/lttng-module/jbd2.h
instrumentation/events/lttng-module/kmem.h
instrumentation/events/lttng-module/kvm.h
instrumentation/events/lttng-module/lock.h
instrumentation/events/lttng-module/lttng-statedump.h
instrumentation/events/lttng-module/lttng-test.h
instrumentation/events/lttng-module/lttng.h
instrumentation/events/lttng-module/mm_vmscan.h
instrumentation/events/lttng-module/module.h
instrumentation/events/lttng-module/napi.h
instrumentation/events/lttng-module/net.h
instrumentation/events/lttng-module/power.h
instrumentation/events/lttng-module/preemptirq.h
instrumentation/events/lttng-module/printk.h
instrumentation/events/lttng-module/random.h
instrumentation/events/lttng-module/rcu.h
instrumentation/events/lttng-module/regmap.h
instrumentation/events/lttng-module/regulator.h
instrumentation/events/lttng-module/rpc.h
instrumentation/events/lttng-module/rpm.h
instrumentation/events/lttng-module/sched.h
instrumentation/events/lttng-module/scsi.h
instrumentation/events/lttng-module/signal.h
instrumentation/events/lttng-module/skb.h
instrumentation/events/lttng-module/sock.h
instrumentation/events/lttng-module/timer.h
instrumentation/events/lttng-module/udp.h
instrumentation/events/lttng-module/v4l2.h
instrumentation/events/lttng-module/workqueue.h
instrumentation/events/lttng-module/writeback.h
instrumentation/syscalls/headers/arm-32-syscalls_integers.h
instrumentation/syscalls/headers/arm-32-syscalls_pointers.h
instrumentation/syscalls/headers/arm-64-syscalls_integers.h
instrumentation/syscalls/headers/arm-64-syscalls_pointers.h
instrumentation/syscalls/headers/mips-32-syscalls_integers.h
instrumentation/syscalls/headers/mips-32-syscalls_pointers.h
instrumentation/syscalls/headers/mips-64-syscalls_integers.h
instrumentation/syscalls/headers/mips-64-syscalls_pointers.h
instrumentation/syscalls/headers/powerpc-32-syscalls_integers.h
instrumentation/syscalls/headers/powerpc-32-syscalls_pointers.h
instrumentation/syscalls/headers/syscalls_unknown.h
instrumentation/syscalls/headers/x86-32-syscalls_integers.h
instrumentation/syscalls/headers/x86-32-syscalls_pointers.h
instrumentation/syscalls/headers/x86-64-syscalls_integers.h
instrumentation/syscalls/headers/x86-64-syscalls_pointers.h
instrumentation/syscalls/lttng-syscalls-generate-headers.sh
probes/define_trace.h [deleted file]
probes/lttng-events-nowrite.h [deleted file]
probes/lttng-events-reset.h [deleted file]
probes/lttng-events-write.h [deleted file]
probes/lttng-probe-user.c
probes/lttng-probe-user.h [deleted file]
probes/lttng-tracepoint-event-impl.h [deleted file]
probes/lttng-tracepoint-event.h [deleted file]
probes/lttng-types.h [deleted file]
probes/lttng.h [deleted file]

diff --git a/include/lttng/define_trace.h b/include/lttng/define_trace.h
new file mode 100644 (file)
index 0000000..b0a5cb6
--- /dev/null
@@ -0,0 +1,121 @@
+/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
+ *
+ * lttng/define_trace.h
+ *
+ * Copyright (C) 2009 Steven Rostedt <rostedt@goodmis.org>
+ * Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ */
+
+/*
+ * Trace files that want to automate creationg of all tracepoints defined
+ * in their file should include this file. The following are macros that the
+ * trace file may define:
+ *
+ * TRACE_SYSTEM defines the system the tracepoint is for
+ *
+ * TRACE_INCLUDE_FILE if the file name is something other than TRACE_SYSTEM.h
+ *     This macro may be defined to tell define_trace.h what file to include.
+ *     Note, leave off the ".h".
+ *
+ * TRACE_INCLUDE_PATH if the path is something other than core kernel include/trace
+ *     then this macro can define the path to use. Note, the path is relative to
+ *     define_trace.h, not the file including it. Full path names for out of tree
+ *     modules must be used.
+ */
+
+#ifdef CREATE_TRACE_POINTS
+
+/* Prevent recursion */
+#undef CREATE_TRACE_POINTS
+
+#include <linux/stringify.h>
+
+#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
+
+#ifndef TRACE_INCLUDE_FILE
+# define TRACE_INCLUDE_FILE TRACE_SYSTEM
+# define UNDEF_TRACE_INCLUDE_FILE
+#endif
+
+#ifndef TRACE_INCLUDE_PATH
+# define __TRACE_INCLUDE(system) <trace/events/system.h>
+# define UNDEF_TRACE_INCLUDE_PATH
+#else
+# define __TRACE_INCLUDE(system) __stringify(TRACE_INCLUDE_PATH/system.h)
+#endif
+
+# define TRACE_INCLUDE(system) __TRACE_INCLUDE(system)
+
+/* Let the trace headers be reread */
+#define TRACE_HEADER_MULTI_READ
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+/* Make all open coded DECLARE_TRACE nops */
+#undef DECLARE_TRACE
+#define DECLARE_TRACE(name, proto, args)
+
+#ifdef LTTNG_PACKAGE_BUILD
+#include <lttng/tracepoint-event-impl.h>
+#endif
+
+#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 */
+#ifdef UNDEF_TRACE_INCLUDE_FILE
+# undef TRACE_INCLUDE_FILE
+# undef UNDEF_TRACE_INCLUDE_FILE
+#endif
+
+#ifdef UNDEF_TRACE_INCLUDE_PATH
+# undef TRACE_INCLUDE_PATH
+# 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
+
+#endif /* CREATE_TRACE_POINTS */
diff --git a/include/lttng/events-nowrite.h b/include/lttng/events-nowrite.h
new file mode 100644 (file)
index 0000000..5d70b88
--- /dev/null
@@ -0,0 +1,137 @@
+/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
+ *
+ * lttng/events-write.h
+ *
+ * Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ */
+
+#undef ctf_integer_nowrite
+#define ctf_integer_nowrite(_type, _item, _user_src)           \
+       _ctf_integer_ext(_type, _item, _user_src, __BYTE_ORDER, 10, 0, 1)
+
+#undef ctf_integer_hex_nowrite
+#define ctf_integer_hex_nowrite(_type, _item, _user_src)       \
+       _ctf_integer_ext(_type, _item, _user_src, __BYTE_ORDER, 16, 0, 1)
+
+#undef ctf_integer_oct_nowrite
+#define ctf_integer_oct_nowrite(_type, _item, _user_src)       \
+       _ctf_integer_ext(_type, _item, _user_src, __BYTE_ORDER, 8, 0, 1)
+
+#undef ctf_integer_network_nowrite
+#define ctf_integer_network_nowrite(_type, _item, _user_src)   \
+       _ctf_integer_ext(_type, _item, _user_src, __BIG_ENDIAN, 10, 0, 1)
+
+#undef ctf_integer_network_hex_nowrite
+#define ctf_integer_network_hex_nowrite(_type, _item, _user_src) \
+       _ctf_integer_ext(_type, _item, _user_src, __BIG_ENDIAN, 16, 0, 1)
+
+#undef ctf_array_nowrite
+#define ctf_array_nowrite(_type, _item, _src, _length)         \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BYTE_ORDER, 10, 0, 1)
+
+#undef ctf_array_network_nowrite
+#define ctf_array_network_nowrite(_type, _item, _src, _length) \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BIG_ENDIAN, 10, 0, 1)
+
+#undef ctf_array_text_nowrite
+#define ctf_array_text_nowrite(_type, _item, _src, _length)    \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, UTF8, __BYTE_ORDER, 10, 0, 1)
+
+#undef ctf_array_bitfield_nowrite
+#define ctf_array_bitfield_nowrite(_type, _item, _src, _length)        \
+       _ctf_array_bitfield(_type, _item, _src, _length, 0, 1)
+
+#undef ctf_sequence_nowrite
+#define ctf_sequence_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
+       _ctf_sequence_encoded(_type, _item, _user_src,          \
+                       _length_type, _user_src_length, none, __BYTE_ORDER, 10, 0, 1)
+
+#undef ctf_sequence_network_nowrite
+#define ctf_sequence_network_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
+       _ctf_sequence_encoded(_type, _item, _user_src,          \
+                       _length_type, _user_src_length, none, __BIG_ENDIAN, 10, 0, 1)
+
+#undef ctf_sequence_text_nowrite
+#define ctf_sequence_text_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
+       _ctf_sequence_encoded(_type, _item, _user_src,          \
+                       _length_type, _user_src_length, UTF8, __BYTE_ORDER, 10, 0, 1)
+
+#undef ctf_sequence_bitfield_nowrite
+#define ctf_sequence_bitfield_nowrite(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_bitfield(_type, _item, _src,              \
+                       _length_type, _src_length, 0, 1)
+
+#undef ctf_string_nowrite
+#define ctf_string_nowrite(_item, _user_src)                   \
+       _ctf_string(_item, _user_src, 0, 1)
+
+#undef ctf_enum_nowrite
+#define ctf_enum_nowrite(_name, _type, _item, _src)            \
+       _ctf_enum(_name, _type, _item, _src, 0, 1)
+
+/* user src */
+#undef ctf_user_integer_nowrite
+#define ctf_user_integer_nowrite(_type, _item, _user_src)      \
+       _ctf_integer_ext(_type, _item, _user_src, __BYTE_ORDER, 10, 1, 1)
+
+#undef ctf_user_integer_hex_nowrite
+#define ctf_user_integer_hex_nowrite(_type, _item, _user_src)  \
+       _ctf_integer_ext(_type, _item, _user_src, __BYTE_ORDER, 16, 1, 1)
+
+#undef ctf_user_integer_network_nowrite
+#define ctf_user_integer_network_nowrite(_type, _item, _user_src) \
+       _ctf_integer_ext(_type, _item, _user_src, __BIG_ENDIAN, 10, 1, 1)
+
+#undef ctf_user_integer_network_hex_nowrite
+#define ctf_user_integer_network_hex_nowrite(_type, _item, _user_src) \
+       _ctf_integer_ext(_type, _item, _user_src, __BIG_ENDIAN, 16, 1, 1)
+
+#undef ctf_user_array_nowrite
+#define ctf_user_array_nowrite(_type, _item, _src, _length)    \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BYTE_ORDER, 10, 1, 1)
+
+#undef ctf_user_array_network_nowrite
+#define ctf_user_array_network_nowrite(_type, _item, _src, _length) \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BIG_ENDIAN, 10, 1, 1)
+
+#undef ctf_user_array_text_nowrite
+#define ctf_user_array_text_nowrite(_type, _item, _src, _length) \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, UTF8, __BYTE_ORDER, 10, 1, 1)
+
+#undef ctf_user_array_bitfield_nowrite
+#define ctf_user_array_bitfield_nowrite(_type, _item, _src, _length)   \
+       _ctf_array_bitfield(_type, _item, _src, _length, 1, 1)
+
+#undef ctf_user_sequence_nowrite
+#define ctf_user_sequence_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
+       _ctf_sequence_encoded(_type, _item, _user_src,          \
+                       _length_type, _user_src_length, none, __BYTE_ORDER, 10, 1, 1)
+
+#undef ctf_user_sequence_network_nowrite
+#define ctf_user_sequence_network_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
+       _ctf_sequence_encoded(_type, _item, _user_src,          \
+                       _length_type, _user_src_length, none, __BIG_ENDIAN, 10, 1, 1)
+
+#undef ctf_user_sequence_text_nowrite
+#define ctf_user_sequence_text_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
+       _ctf_sequence_encoded(_type, _item, _user_src,          \
+                       _length_type, _user_src_length, UTF8, __BYTE_ORDER, 10, 1, 1)
+
+#undef ctf_user_sequence_bitfield_nowrite
+#define ctf_user_sequence_bitfield_nowrite(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_bitfield(_type, _item, _src,              \
+                       _length_type, _src_length, 1, 1)
+
+#undef ctf_user_string_nowrite
+#define ctf_user_string_nowrite(_item, _user_src)              \
+       _ctf_string(_item, _user_src, 1, 1)
+
+#undef ctf_user_enum_nowrite
+#define ctf_user_enum_nowrite(_name, _type, _item, _src)       \
+       _ctf_enum(_name, _type, _item, _src, 1, 1)
diff --git a/include/lttng/events-reset.h b/include/lttng/events-reset.h
new file mode 100644 (file)
index 0000000..64e7647
--- /dev/null
@@ -0,0 +1,283 @@
+/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
+ *
+ * lttng/events-reset.h
+ *
+ * Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ */
+
+/* Reset macros used within LTTNG_TRACEPOINT_EVENT to "nothing" */
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post)
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post)
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args)
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map)
+
+#undef LTTNG_TRACEPOINT_ENUM
+#define LTTNG_TRACEPOINT_ENUM(_name, _values)
+
+#undef TP_PROTO
+#define TP_PROTO(args...)
+
+#undef TP_ARGS
+#define TP_ARGS(args...)
+
+#undef TP_locvar
+#define TP_locvar(...)
+
+#undef TP_code_pre
+#define TP_code_pre(...)
+
+#undef TP_code_post
+#define TP_code_post(...)
+
+#undef TP_FIELDS
+#define TP_FIELDS(args...)
+
+#undef _ctf_integer_ext
+#define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, \
+                       _user, _nowrite)
+
+#undef _ctf_integer_ext_isuser0
+#define _ctf_integer_ext_isuser0(_type, _item, _src, _byte_order, _base, \
+                       _nowrite)
+
+#undef _ctf_integer_ext_isuser1
+#define _ctf_integer_ext_isuser1(_type, _item, _src, _byte_order, _base, \
+                       _nowrite)
+
+#undef _ctf_integer_ext_fetched
+#define _ctf_integer_ext_fetched(_type, _item, _src, _byte_order, _base, \
+                       _nowrite)
+
+#undef _ctf_array_encoded
+#define _ctf_array_encoded(_type, _item, _src, _length, _encoding, \
+                       _byte_order, _base, _user, _nowrite)
+
+#undef _ctf_array_bitfield
+#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite)
+
+#undef _ctf_sequence_encoded
+#define _ctf_sequence_encoded(_type, _item, _src, _length_type, \
+                       _src_length, _encoding, _byte_order, _base, _user, _nowrite)
+
+#undef _ctf_sequence_bitfield
+#define _ctf_sequence_bitfield(_type, _item, _src, _length_type, \
+                       _src_length, _byte_order, _user, _nowrite)
+
+#undef _ctf_string
+#define _ctf_string(_item, _src, _user, _nowrite)
+
+#undef _ctf_enum
+#define _ctf_enum(_name, _type, _item, _src, _nowrite)
+
+/* "write" */
+#undef ctf_integer
+#define ctf_integer(_type, _item, _src)
+
+#undef ctf_integer_hex
+#define ctf_integer_hex(_type, _item, _src)
+
+#undef ctf_integer_oct
+#define ctf_integer_oct(_type, _item, _src)
+
+#undef ctf_integer_network
+#define ctf_integer_network(_type, _item, _src)
+
+#undef ctf_integer_network_hex
+#define ctf_integer_network_hex(_type, _item, _src)
+
+#undef ctf_float
+#define ctf_float(_type, _item, _src)
+
+#undef ctf_array
+#define ctf_array(_type, _item, _src, _length)
+
+#undef ctf_array_hex
+#define ctf_array_hex(_type, _item, _src, _length)
+
+#undef ctf_array_network
+#define ctf_array_network(_type, _item, _src, _length)
+
+#undef ctf_array_network_hex
+#define ctf_array_network_hex(_type, _item, _src, _length)
+
+#undef ctf_array_text
+#define ctf_array_text(_type, _item, _src, _length)
+
+#undef ctf_array_bitfield
+#define ctf_array_bitfield(_type, _item, _src, _length)
+
+#undef ctf_sequence
+#define ctf_sequence(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_sequence_hex
+#define ctf_sequence_hex(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_sequence_network
+#define ctf_sequence_network(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_sequence_network_hex
+#define ctf_sequence_network_hex(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_sequence_text
+#define ctf_sequence_text(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_sequence_bitfield
+#define ctf_sequence_bitfield(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_string
+#define ctf_string(_item, _src)
+
+#undef ctf_enum
+#define ctf_enum(_name, _type, _item, _src)
+
+#undef ctf_custom_field
+#define ctf_custom_field(_type, _item, _code)
+
+#undef ctf_custom_type
+#define ctf_custom_type(...)
+
+#undef ctf_custom_code
+#define ctf_custom_code(...)
+
+#undef ctf_align
+#define ctf_align(_type)
+
+/* "nowrite" */
+#undef ctf_integer_nowrite
+#define ctf_integer_nowrite(_type, _item, _src)
+
+#undef ctf_float_nowrite
+#define ctf_float_nowrite(_type, _item, _src)
+
+#undef ctf_array_nowrite
+#define ctf_array_nowrite(_type, _item, _src, _length)
+
+#undef ctf_array_network_nowrite
+#define ctf_array_network_nowrite(_type, _item, _src, _length)
+
+#undef ctf_array_text_nowrite
+#define ctf_array_text_nowrite(_type, _item, _src, _length)
+
+#undef ctf_array_bitfield_nowrite
+#define ctf_array_bitfield_nowrite(_type, _item, _src, _length)
+
+#undef ctf_sequence_nowrite
+#define ctf_sequence_nowrite(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_sequence_network_nowrite
+#define ctf_sequence_network_nowrite(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_sequence_text_nowrite
+#define ctf_sequence_text_nowrite(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_sequence_bitfield_nowrite
+#define ctf_sequence_bitfield_nowrite(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_string_nowrite
+#define ctf_string_nowrite(_item, _src)
+
+#undef ctf_enum_nowrite
+#define ctf_enum_nowrite(_name, _type, _item, _src)
+
+/* "user" - "write" */
+#undef ctf_user_integer
+#define ctf_user_integer(_type, _item, _user_src)
+
+#undef ctf_user_integer_hex
+#define ctf_user_integer_hex(_type, _item, _user_src)
+
+#undef ctf_user_integer_network
+#define ctf_user_integer_network(_type, _item, _user_src)
+
+#undef ctf_user_integer_network_hex
+#define ctf_user_integer_network_hex(_type, _item, _user_src)
+
+#undef ctf_user_float
+#define ctf_user_float(_type, _item, _user_src)
+
+#undef ctf_user_array
+#define ctf_user_array(_type, _item, _user_src, _length)
+
+#undef ctf_user_array_hex
+#define ctf_user_array_hex(_type, _item, _user_src, _length)
+
+#undef ctf_user_array_network
+#define ctf_user_array_network(_type, _item, _user_src, _length)
+
+#undef ctf_user_array_network_hex
+#define ctf_user_array_network_hex(_type, _item, _user_src, _length)
+
+#undef ctf_user_array_text
+#define ctf_user_array_text(_type, _item, _user_src, _length)
+
+#undef ctf_user_array_bitfield
+#define ctf_user_array_bitfield(_type, _item, _src, _length)
+
+#undef ctf_user_sequence
+#define ctf_user_sequence(_type, _item, _user_src, _length_type, _user_src_length)
+
+#undef ctf_user_sequence_hex
+#define ctf_user_sequence_hex(_type, _item, _user_src, _length_type, _user_src_length)
+
+#undef ctf_user_sequence_network
+#define ctf_user_sequence_network(_type, _item, _user_src, _length_type, _user_src_length)
+
+#undef ctf_user_sequence_network_hex
+#define ctf_user_sequence_network_hex(_type, _item, _user_src, _length_type, _user_src_length)
+
+#undef ctf_user_sequence_text
+#define ctf_user_sequence_text(_type, _item, _user_src, _length_type, _user_src_length)
+
+#undef ctf_user_sequence_bitfield
+#define ctf_user_sequence_bitfield(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_user_string
+#define ctf_user_string(_item, _user_src)
+
+#undef ctf_user_enum
+#define ctf_user_enum(_name, _type, _item, _src)
+
+/* "user" - "nowrite" */
+#undef ctf_user_integer_nowrite
+#define ctf_user_integer_nowrite(_type, _item, _user_src)
+
+#undef ctf_user_float_nowrite
+#define ctf_user_float_nowrite(_type, _item, _user_src)
+
+#undef ctf_user_array_nowrite
+#define ctf_user_array_nowrite(_type, _item, _user_src, _length)
+
+#undef ctf_user_array_network_nowrite
+#define ctf_user_array_network_nowrite(_type, _item, _user_src, _length)
+
+#undef ctf_user_array_text_nowrite
+#define ctf_user_array_text_nowrite(_type, _item, _user_src, _length)
+
+#undef ctf_user_array_bitfield_nowrite
+#define ctf_user_array_bitfield_nowrite(_type, _item, _src, _length)
+
+#undef ctf_user_sequence_nowrite
+#define ctf_user_sequence_nowrite(_type, _item, _user_src, _length_type, _user_src_length)
+
+#undef ctf_user_sequence_network_nowrite
+#define ctf_user_sequence_network_nowrite(_type, _item, _user_src, _length_type, _user_src_length)
+
+#undef ctf_user_sequence_text_nowrite
+#define ctf_user_sequence_text_nowrite(_type, _item, _user_src, _length_type, _user_src_length)
+
+#undef ctf_user_sequence_bitfield_nowrite
+#define ctf_user_sequence_bitfield_nowrite(_type, _item, _src, _length_type, _src_length)
+
+#undef ctf_user_string_nowrite
+#define ctf_user_string_nowrite(_item, _user_src)
+
+#undef ctf_user_enum_nowrite
+#define ctf_user_enum_nowrite(_name, _type, _item, _src)
diff --git a/include/lttng/events-write.h b/include/lttng/events-write.h
new file mode 100644 (file)
index 0000000..646977a
--- /dev/null
@@ -0,0 +1,339 @@
+/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
+ *
+ * lttng/events-write.h
+ *
+ * Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ */
+
+#undef ctf_integer
+#define ctf_integer(_type, _item, _src)                                \
+       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, 0, 0)
+
+#undef ctf_integer_bitfield
+#define ctf_integer_bitfield(_type, _item, _src)                       \
+       _ctf_integer_ext(_type, _item, _src, __LITTLE_ENDIAN, 10, 0, 0)
+
+#undef ctf_integer_hex
+#define ctf_integer_hex(_type, _item, _src)                    \
+       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 16, 0, 0)
+
+#undef ctf_integer_oct
+#define ctf_integer_oct(_type, _item, _src)                    \
+       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 8, 0, 0)
+
+#undef ctf_integer_network
+#define ctf_integer_network(_type, _item, _src)                        \
+       _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 10, 0, 0)
+
+#undef ctf_integer_network_hex
+#define ctf_integer_network_hex(_type, _item, _src)            \
+       _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 16, 0, 0)
+
+#undef ctf_array
+#define ctf_array(_type, _item, _src, _length)                 \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BYTE_ORDER, 10, 0, 0)
+
+#undef ctf_array_hex
+#define ctf_array_hex(_type, _item, _src, _length)             \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BYTE_ORDER, 16, 0, 0)
+
+#undef ctf_array_network
+#define ctf_array_network(_type, _item, _src, _length)         \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BIG_ENDIAN, 10, 0, 0)
+
+#undef ctf_array_network_hex
+#define ctf_array_network_hex(_type, _item, _src, _length)     \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BIG_ENDIAN, 16, 0, 0)
+
+#undef ctf_array_text
+#define ctf_array_text(_type, _item, _src, _length)            \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, UTF8, __BYTE_ORDER, 10, 0, 0)
+
+#undef ctf_array_bitfield
+#define ctf_array_bitfield(_type, _item, _src, _length)                \
+       _ctf_array_bitfield(_type, _item, _src, _length, 0, 0)
+
+#undef ctf_sequence
+#define ctf_sequence(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_encoded(_type, _item, _src,               \
+                       _length_type, _src_length, none, __BYTE_ORDER, 10, 0, 0)
+
+#undef ctf_sequence_hex
+#define ctf_sequence_hex(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_encoded(_type, _item, _src,               \
+                       _length_type, _src_length, none, __BYTE_ORDER, 16, 0, 0)
+
+#undef ctf_sequence_network
+#define ctf_sequence_network(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_encoded(_type, _item, _src,               \
+                       _length_type, _src_length, none, __BIG_ENDIAN, 10, 0, 0)
+
+#undef ctf_sequence_network_hex
+#define ctf_sequence_network_hex(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_encoded(_type, _item, _src,               \
+                       _length_type, _src_length, none, __BIG_ENDIAN, 16, 0, 0)
+
+#undef ctf_sequence_text
+#define ctf_sequence_text(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_encoded(_type, _item, _src,               \
+                       _length_type, _src_length, UTF8, __BYTE_ORDER, 10, 0, 0)
+
+#undef ctf_sequence_bitfield
+#define ctf_sequence_bitfield(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_bitfield(_type, _item, _src,              \
+                       _length_type, _src_length, 0, 0)
+
+#undef ctf_string
+#define ctf_string(_item, _src)                                        \
+       _ctf_string(_item, _src, 0, 0)
+
+#undef ctf_enum
+#define ctf_enum(_name, _type, _item, _src)                    \
+       _ctf_enum(_name, _type, _item, _src, 0, 0)
+
+/* user src */
+#undef ctf_user_integer
+#define ctf_user_integer(_type, _item, _src)                           \
+       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, 1, 0)
+
+#undef ctf_user_integer_hex
+#define ctf_user_integer_hex(_type, _item, _src)                       \
+       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 16, 1, 0)
+
+#undef ctf_user_integer_network
+#define ctf_user_integer_network(_type, _item, _src)                   \
+       _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 10, 1, 0)
+
+#undef ctf_user_integer_network_hex
+#define ctf_user_integer_network_hex(_type, _item, _src)               \
+       _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 16, 1, 0)
+
+#undef ctf_user_array
+#define ctf_user_array(_type, _item, _src, _length)            \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BYTE_ORDER, 10, 1, 0)
+
+#undef ctf_user_array_hex
+#define ctf_user_array_hex(_type, _item, _src, _length)                \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BYTE_ORDER, 16, 1, 0)
+
+#undef ctf_user_array_network
+#define ctf_user_array_network(_type, _item, _src, _length)    \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BIG_ENDIAN, 10, 1, 0)
+
+#undef ctf_user_array_network_hex
+#define ctf_user_array_network_hex(_type, _item, _src, _length)        \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, none, __BIG_ENDIAN, 16, 1, 0)
+
+#undef ctf_user_array_text
+#define ctf_user_array_text(_type, _item, _src, _length)       \
+       _ctf_array_encoded(_type, _item, _src,                  \
+                       _length, UTF8, __BYTE_ORDER, 10, 1, 0)
+
+#undef ctf_user_array_bitfield
+#define ctf_user_array_bitfield(_type, _item, _src, _length)   \
+       _ctf_array_bitfield(_type, _item, _src, _length, 1, 0)
+
+#undef ctf_user_sequence
+#define ctf_user_sequence(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_encoded(_type, _item, _src,               \
+                       _length_type, _src_length, none, __BYTE_ORDER, 10, 1, 0)
+
+#undef ctf_user_sequence_hex
+#define ctf_user_sequence_hex(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_encoded(_type, _item, _src,               \
+                       _length_type, _src_length, none, __BYTE_ORDER, 16, 1, 0)
+
+#undef ctf_user_sequence_network
+#define ctf_user_sequence_network(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_encoded(_type, _item, _src,               \
+                       _length_type, _src_length, none, __BIG_ENDIAN, 10, 1, 0)
+
+#undef ctf_user_sequence_network_hex
+#define ctf_user_sequence_network_hex(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_encoded(_type, _item, _src,               \
+                       _length_type, _src_length, none, __BIG_ENDIAN, 16, 1, 0)
+
+#undef ctf_user_sequence_text
+#define ctf_user_sequence_text(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_encoded(_type, _item, _src,               \
+                       _length_type, _src_length, UTF8, __BYTE_ORDER, 10, 1, 0)
+
+#undef ctf_user_sequence_bitfield
+#define ctf_user_sequence_bitfield(_type, _item, _src, _length_type, _src_length) \
+       _ctf_sequence_bitfield(_type, _item, _src,              \
+                       _length_type, _src_length, 1, 0)
+
+#undef ctf_user_string
+#define ctf_user_string(_item, _src)                                   \
+       _ctf_string(_item, _src, 1, 0)
+
+#undef ctf_user_enum
+#define ctf_user_enum(_name, _type, _item, _src)                       \
+       _ctf_enum(_name, _type, _item, _src, 1, 0)
+
+/* types */
+#undef ctf_integer_type
+#define ctf_integer_type(_type, _src)                                  \
+       ctf_integer(_type, unused, _src)
+
+#undef ctf_integer_bitfield_type
+#define ctf_integer_bitfield_type(_type, _src)                         \
+       ctf_integer_bitfield(_type, unused, _src)
+
+#undef ctf_integer_hex_type
+#define ctf_integer_hex_type(_type, _src)                              \
+       ctf_integer_hex(_type, unused, _src)
+
+#undef ctf_integer_oct_type
+#define ctf_integer_oct_type(_type, _item, _src)                       \
+       ctf_integer_oct(_type, unused, _src)
+
+#undef ctf_integer_network_type
+#define ctf_integer_network_type(_type, _src)                          \
+       ctf_integer_network(_type, unused, _src)
+
+#undef ctf_integer_network_hex_type
+#define ctf_integer_network_hex_type(_type, _src)                      \
+       ctf_integer_network_hex(_type, unused, _src)
+
+#undef ctf_array_type
+#define ctf_array_type(_type, _src, _length)                           \
+       ctf_array(_type, unused, _src, _length)
+
+#undef ctf_array_hex_type
+#define ctf_array_hex_type(_type, _src, _length)                       \
+       ctf_array_hex(_type, unused, _src, _length)
+
+#undef ctf_array_network_type
+#define ctf_array_network_type(_type, _src, _length)                   \
+       ctf_array_network(_type, unused, _src, _length)
+
+#undef ctf_array_network_hex_type
+#define ctf_array_network_hex_type(_type, _src, _length)               \
+       ctf_array_network_hex(_type, unused, _src, _length)
+
+#undef ctf_array_text_type
+#define ctf_array_text_type(_type, _src, _length)                      \
+       ctf_array_text(_type, unused, _src, _length)
+
+#undef ctf_array_bitfield_type
+#define ctf_array_bitfield_type(_type, _src, _length)                  \
+       ctf_array_bitfield(_type, unused, _src, _length)
+
+#undef ctf_sequence_type
+#define ctf_sequence_type(_type, _src, _length_type, _src_length) \
+       ctf_sequence(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_sequence_hex_type
+#define ctf_sequence_hex_type(_type, _src, _length_type, _src_length) \
+       ctf_sequence_hex(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_sequence_network_type
+#define ctf_sequence_network_type(_type, _src, _length_type, _src_length) \
+       ctf_sequence_network(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_sequence_network_hex_type
+#define ctf_sequence_network_hex_type(_type, _src, _length_type, _src_length) \
+       ctf_sequence_network_hex(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_sequence_text_type
+#define ctf_sequence_text_type(_type, _src, _length_type, _src_length) \
+       ctf_sequence_text(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_sequence_bitfield_type
+#define ctf_sequence_bitfield_type(_type, _src, _length_type, _src_length) \
+       ctf_sequence_bitfield(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_string_type
+#define ctf_string_type(_src)                                          \
+       ctf_string(unused, _src)
+
+#undef ctf_enum_type
+#define ctf_enum_type(_name, _type, _src)                              \
+       ctf_enum(_name, _type, unused, _src)
+
+/* user src types */
+#undef ctf_user_integer_type
+#define ctf_user_integer_type(_type, _src)                             \
+       ctf_user_integer(_type, unused, _src)
+
+#undef ctf_user_integer_hex_type
+#define ctf_user_integer_hex_type(_type, _src)                         \
+       ctf_user_integer_hex(_type, unused, _src)
+
+#undef ctf_user_integer_oct_type
+#define ctf_user_integer_oct_type(_type, _item, _src)                  \
+       ctf_user_integer_oct(_type, unused, _src)
+
+#undef ctf_user_integer_network_type
+#define ctf_user_integer_network_type(_type, _src)                     \
+       ctf_user_integer_network(_type, unused, _src)
+
+#undef ctf_user_integer_network_hex_type
+#define ctf_user_integer_network_hex_type(_type, _src)                 \
+       ctf_user_integer_network_hex(_type, unused, _src)
+
+#undef ctf_user_array_type
+#define ctf_user_array_type(_type, _src, _length)                      \
+       ctf_user_array(_type, unused, _src, _length)
+
+#undef ctf_user_array_hex_type
+#define ctf_user_array_hex_type(_type, _src, _length)                  \
+       ctf_user_array_hex(_type, unused, _src, _length)
+
+#undef ctf_user_array_network_type
+#define ctf_user_array_network_type(_type, _src, _length)              \
+       ctf_user_array_network(_type, unused, _src, _length)
+
+#undef ctf_user_array_network_hex_type
+#define ctf_user_array_network_hex_type(_type, _src, _length)          \
+       ctf_user_array_network_hex(_type, unused, _src, _length)
+
+#undef ctf_user_array_text_type
+#define ctf_user_array_text_type(_type, _src, _length)                 \
+       ctf_user_array_text(_type, unused, _src, _length)
+
+#undef ctf_user_array_bitfield_type
+#define ctf_user_array_bitfield_type(_type, _src, _length)             \
+       ctf_user_array_bitfield(_type, unused, _src, _length)
+
+#undef ctf_user_sequence_type
+#define ctf_user_sequence_type(_type, _src, _length_type, _src_length) \
+       ctf_user_sequence(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_user_sequence_hex_type
+#define ctf_user_sequence_hex_type(_type, _src, _length_type, _src_length) \
+       ctf_user_sequence_hex(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_user_sequence_network_type
+#define ctf_user_sequence_network_type(_type, _src, _length_type, _src_length) \
+       ctf_user_sequence_network(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_user_sequence_network_hex_type
+#define ctf_user_sequence_network_hex_type(_type, _src, _length_type, _src_length) \
+       ctf_user_sequence_network_hex(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_user_sequence_text_type
+#define ctf_user_sequence_text_type(_type, _src, _length_type, _src_length) \
+       ctf_user_sequence_text(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_user_sequence_bitfield_type
+#define ctf_user_sequence_bitfield_type(_type, _src, _length_type, _src_length) \
+       ctf_user_sequence_bitfield(_type, unused, _src, _length_type, _src_length)
+
+#undef ctf_user_string_type
+#define ctf_user_string_type(_src)                                     \
+       ctf_user_string(unused, _src)
+
+#undef ctf_user_enum_type
+#define ctf_user_enum_type(_name, _type, _src)                         \
+       ctf_user_enum(_name, _type, unused, _src)
diff --git a/include/lttng/probe-user.h b/include/lttng/probe-user.h
new file mode 100644 (file)
index 0000000..6b7f38d
--- /dev/null
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
+ *
+ * lttng/probe-user.h
+ *
+ * Copyright (C) 2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ */
+
+#ifndef _LTTNG_PROBE_USER_H
+#define _LTTNG_PROBE_USER_H
+
+/*
+ * Calculate string length. Include final null terminating character if there is
+ * one, or ends at first fault.
+ */
+long lttng_strlen_user_inatomic(const char *addr);
+
+#endif /* _LTTNG_PROBE_USER_H */
diff --git a/include/lttng/tracepoint-event-impl.h b/include/lttng/tracepoint-event-impl.h
new file mode 100644 (file)
index 0000000..2507777
--- /dev/null
@@ -0,0 +1,1441 @@
+/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
+ *
+ * lttng/tracepoint-event-impl.h
+ *
+ * Copyright (C) 2009 Steven Rostedt <rostedt@goodmis.org>
+ * Copyright (C) 2009-2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ */
+
+#include <linux/uaccess.h>
+#include <linux/debugfs.h>
+#include <linux/rculist.h>
+#include <asm/byteorder.h>
+#include <linux/swab.h>
+
+#include <lttng/types.h>
+#include <lttng/probe-user.h>
+#include <wrapper/vmalloc.h>   /* for wrapper_vmalloc_sync_mappings() */
+#include <ringbuffer/frontend_types.h>
+#include <ringbuffer/backend.h>
+#include <wrapper/rcu.h>
+#include <wrapper/user_namespace.h>
+#include <lttng-events.h>
+#include <lttng-tracer-core.h>
+#include <lttng-tp-mempool.h>
+
+#define __LTTNG_NULL_STRING    "(null)"
+
+#undef PARAMS
+#define PARAMS(args...)                args
+
+/*
+ * Macro declarations used for all stages.
+ */
+
+/*
+ * LTTng name mapping macros. LTTng remaps some of the kernel events to
+ * enforce name-spacing.
+ */
+#undef LTTNG_TRACEPOINT_EVENT_MAP
+#define LTTNG_TRACEPOINT_EVENT_MAP(name, map, proto, args, fields) \
+       LTTNG_TRACEPOINT_EVENT_CLASS(map,                               \
+                            PARAMS(proto),                             \
+                            PARAMS(args),                              \
+                            PARAMS(fields))                            \
+       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
+
+#undef LTTNG_TRACEPOINT_EVENT_MAP_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_MAP_NOARGS(name, map, fields)           \
+       LTTNG_TRACEPOINT_EVENT_CLASS_NOARGS(map,                        \
+                            PARAMS(fields))                            \
+       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(map, name, map)
+
+#undef LTTNG_TRACEPOINT_EVENT_CODE_MAP
+#define LTTNG_TRACEPOINT_EVENT_CODE_MAP(name, map, proto, args, _locvar, _code_pre, fields, _code_post) \
+       LTTNG_TRACEPOINT_EVENT_CLASS_CODE(map,                          \
+                            PARAMS(proto),                             \
+                            PARAMS(args),                              \
+                            PARAMS(_locvar),                           \
+                            PARAMS(_code_pre),                         \
+                            PARAMS(fields),                            \
+                            PARAMS(_code_post))                        \
+       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
+
+#undef LTTNG_TRACEPOINT_EVENT_CODE
+#define LTTNG_TRACEPOINT_EVENT_CODE(name, proto, args, _locvar, _code_pre, fields, _code_post) \
+       LTTNG_TRACEPOINT_EVENT_CODE_MAP(name, name,                     \
+                            PARAMS(proto),                             \
+                            PARAMS(args),                              \
+                            PARAMS(_locvar),                           \
+                            PARAMS(_code_pre),                         \
+                            PARAMS(fields),                            \
+                            PARAMS(_code_post))
+
+/*
+ * LTTNG_TRACEPOINT_EVENT_CLASS can be used to add a generic function
+ * handlers for events. That is, if all events have the same parameters
+ * and just have distinct trace points.  Each tracepoint can be defined
+ * with LTTNG_TRACEPOINT_EVENT_INSTANCE and that will map the
+ * LTTNG_TRACEPOINT_EVENT_CLASS to the tracepoint.
+ *
+ * LTTNG_TRACEPOINT_EVENT is a one to one mapping between tracepoint and
+ * template.
+ */
+
+#undef LTTNG_TRACEPOINT_EVENT
+#define LTTNG_TRACEPOINT_EVENT(name, proto, args, fields)              \
+       LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
+                       PARAMS(proto),                                  \
+                       PARAMS(args),                                   \
+                       PARAMS(fields))
+
+#undef LTTNG_TRACEPOINT_EVENT_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_NOARGS(name, fields)                    \
+       LTTNG_TRACEPOINT_EVENT_MAP_NOARGS(name, name, PARAMS(fields))
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE(template, name, proto, args)   \
+       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(template, name, name, PARAMS(proto), PARAMS(args))
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS(template, name) \
+       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(template, name, name)
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS
+#define LTTNG_TRACEPOINT_EVENT_CLASS(_name, _proto, _args, _fields) \
+       LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, PARAMS(_proto), PARAMS(_args), , , \
+               PARAMS(_fields), )
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_CLASS_NOARGS(_name, _fields) \
+       LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, , , PARAMS(_fields), )
+
+
+/*
+ * Stage 1 of the trace events.
+ *
+ * Create dummy trace calls for each events, verifying that the LTTng module
+ * instrumentation headers match the kernel arguments. Will be optimized
+ * out by the compiler.
+ */
+
+/* Reset all macros within TRACEPOINT_EVENT */
+#include <lttng/events-reset.h>
+
+#undef TP_PROTO
+#define TP_PROTO(...)  __VA_ARGS__
+
+#undef TP_ARGS
+#define TP_ARGS(...)   __VA_ARGS__
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args) \
+void trace_##_name(_proto);
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map) \
+void trace_##_name(void);
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+/*
+ * Stage 1.1 of the trace events.
+ *
+ * Create dummy trace prototypes for each event class, and for each used
+ * template. This will allow checking whether the prototypes from the
+ * class and the instance using the class actually match.
+ */
+
+#include <lttng/events-reset.h>        /* Reset all macros within TRACE_EVENT */
+
+#undef TP_PROTO
+#define TP_PROTO(...)  __VA_ARGS__
+
+#undef TP_ARGS
+#define TP_ARGS(...)   __VA_ARGS__
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args) \
+void __event_template_proto___##_template(_proto);
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map) \
+void __event_template_proto___##_template(void);
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
+void __event_template_proto___##_name(_proto);
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
+void __event_template_proto___##_name(void);
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+/*
+ * Stage 1.2 of tracepoint event generation
+ *
+ * Unfolding the enums
+ */
+#include <lttng/events-reset.h>        /* Reset all macros within TRACE_EVENT */
+
+/* Enumeration entry (single value) */
+#undef ctf_enum_value
+#define ctf_enum_value(_string, _value)                                        \
+       {                                                               \
+               .start = {                                              \
+                       .signedness = lttng_is_signed_type(__typeof__(_value)), \
+                       .value = lttng_is_signed_type(__typeof__(_value)) ? \
+                               (long long) (_value) : (_value),        \
+               },                                                      \
+               .end = {                                                \
+                       .signedness = lttng_is_signed_type(__typeof__(_value)), \
+                       .value = lttng_is_signed_type(__typeof__(_value)) ? \
+                               (long long) (_value) : (_value),        \
+               },                                                      \
+               .string = (_string),                                    \
+       },
+
+/* Enumeration entry (range) */
+#undef ctf_enum_range
+#define ctf_enum_range(_string, _range_start, _range_end)              \
+       {                                                               \
+               .start = {                                              \
+                       .signedness = lttng_is_signed_type(__typeof__(_range_start)), \
+                       .value = lttng_is_signed_type(__typeof__(_range_start)) ? \
+                               (long long) (_range_start) : (_range_start), \
+               },                                                      \
+               .end = {                                                \
+                       .signedness = lttng_is_signed_type(__typeof__(_range_end)), \
+                       .value = lttng_is_signed_type(__typeof__(_range_end)) ? \
+                               (long long) (_range_end) : (_range_end), \
+               },                                                      \
+               .string = (_string),                                    \
+       },
+
+/* Enumeration entry (automatic value; follows the rules of CTF) */
+#undef ctf_enum_auto
+#define ctf_enum_auto(_string)                                 \
+       {                                                               \
+               .start = {                                              \
+                       .signedness = -1,                               \
+                       .value = -1,                                    \
+               },                                                      \
+               .end = {                                                \
+                       .signedness = -1,                               \
+                       .value = -1,                                    \
+               },                                                      \
+               .string = (_string),                                    \
+               .options = {                                            \
+                       .is_auto = 1,                                   \
+               }                                                       \
+       },
+
+#undef TP_ENUM_VALUES
+#define TP_ENUM_VALUES(...)                                            \
+       __VA_ARGS__
+
+#undef LTTNG_TRACEPOINT_ENUM
+#define LTTNG_TRACEPOINT_ENUM(_name, _values)                          \
+       const struct lttng_enum_entry __enum_values__##_name[] = { \
+               _values                                                 \
+       };
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+/*
+ * Stage 2 of the trace events.
+ *
+ * Create event field type metadata section.
+ * Each event produce an array of fields.
+ */
+
+/* Reset all macros within TRACEPOINT_EVENT */
+#include <lttng/events-reset.h>
+#include <lttng/events-write.h>
+#include <lttng/events-nowrite.h>
+
+#undef _ctf_integer_ext
+#define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, _user, _nowrite) \
+       {                                                       \
+         .name = #_item,                                       \
+         .type = __type_integer(_type, 0, 0, -1, _byte_order, _base, none), \
+         .nowrite = _nowrite,                                  \
+         .user = _user,                                        \
+         .nofilter = 0,                                        \
+       },
+
+#undef _ctf_array_encoded
+#define _ctf_array_encoded(_type, _item, _src, _length,                \
+               _encoding, _byte_order, _elem_type_base, _user, _nowrite) \
+       {                                                       \
+         .name = #_item,                                       \
+         .type =                                               \
+               {                                               \
+                 .atype = atype_array_nestable,                \
+                 .u =                                          \
+                       {                                       \
+                         .array_nestable =                     \
+                               {                               \
+                                 .elem_type = __LTTNG_COMPOUND_LITERAL(struct lttng_type, \
+                                       __type_integer(_type, 0, 0, -1, _byte_order, _elem_type_base, _encoding)), \
+                                 .length = _length,            \
+                                 .alignment = 0,               \
+                               }                               \
+                       }                                       \
+               },                                              \
+         .nowrite = _nowrite,                                  \
+         .user = _user,                                        \
+         .nofilter = 0,                                        \
+       },
+
+#undef _ctf_array_bitfield
+#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
+       {                                                       \
+         .name = #_item,                                       \
+         .type =                                               \
+               {                                               \
+                 .atype = atype_array_nestable,                \
+                 .u =                                          \
+                       {                                       \
+                         .array_nestable =                     \
+                               {                               \
+                                 .elem_type = __LTTNG_COMPOUND_LITERAL(struct lttng_type, \
+                                       __type_integer(_type, 1, 1, 0, __LITTLE_ENDIAN, 10, none)), \
+                                 .length = (_length) * sizeof(_type) * CHAR_BIT, \
+                                 .alignment = lttng_alignof(_type), \
+                               }                               \
+                       }                                       \
+               },                                              \
+         .nowrite = _nowrite,                                  \
+         .user = _user,                                        \
+         .nofilter = 0,                                        \
+       },
+
+
+#undef _ctf_sequence_encoded
+#define _ctf_sequence_encoded(_type, _item, _src,              \
+                       _length_type, _src_length, _encoding,   \
+                       _byte_order, _elem_type_base, _user, _nowrite) \
+       {                                                       \
+         .name = "_" #_item "_length",                         \
+         .type = __type_integer(_length_type, 0, 0, -1, __BYTE_ORDER, 10, none), \
+         .nowrite = _nowrite,                                  \
+         .nofilter = 1,                                        \
+       },                                                      \
+       {                                                       \
+         .name = #_item,                                       \
+         .type =                                               \
+               {                                               \
+                 .atype = atype_sequence_nestable,             \
+                 .u =                                          \
+                       {                                       \
+                         .sequence_nestable =                  \
+                               {                               \
+                                 .length_name = "_" #_item "_length", \
+                                 .elem_type = __LTTNG_COMPOUND_LITERAL(struct lttng_type, \
+                                       __type_integer(_type, 0, 0, -1, _byte_order, _elem_type_base, _encoding)), \
+                                 .alignment = 0,               \
+                               },                              \
+                       },                                      \
+               },                                              \
+         .nowrite = _nowrite,                                  \
+         .user = _user,                                        \
+         .nofilter = 0,                                        \
+       },
+
+#undef _ctf_sequence_bitfield
+#define _ctf_sequence_bitfield(_type, _item, _src,             \
+                       _length_type, _src_length,              \
+                       _user, _nowrite)                        \
+       {                                                       \
+         .name = "_" #_item "_length",                         \
+         .type = __type_integer(_length_type, 0, 0, -1, __BYTE_ORDER, 10, none), \
+         .nowrite = _nowrite,                                  \
+         .nofilter = 1,                                        \
+       },                                                      \
+       {                                                       \
+         .name = #_item,                                       \
+         .type =                                               \
+               {                                               \
+                 .atype = atype_sequence_nestable,             \
+                 .u =                                          \
+                       {                                       \
+                         .sequence_nestable =                  \
+                               {                               \
+                                 .length_name = "_" #_item "_length", \
+                                 .elem_type = __LTTNG_COMPOUND_LITERAL(struct lttng_type, \
+                                       __type_integer(_type, 1, 1, 0, __LITTLE_ENDIAN, 10, none)), \
+                                 .alignment = lttng_alignof(_type), \
+                               },                              \
+                       },                                      \
+               },                                              \
+         .nowrite = _nowrite,                                  \
+         .user = _user,                                        \
+         .nofilter = 0,                                        \
+       },
+
+#undef _ctf_string
+#define _ctf_string(_item, _src, _user, _nowrite)              \
+       {                                                       \
+         .name = #_item,                                       \
+         .type =                                               \
+               {                                               \
+                 .atype = atype_string,                        \
+                 .u =                                          \
+                       {                                       \
+                         .string = { .encoding = lttng_encode_UTF8 }, \
+                       },                                      \
+               },                                              \
+         .nowrite = _nowrite,                                  \
+         .user = _user,                                        \
+         .nofilter = 0,                                        \
+       },
+
+#undef _ctf_enum
+#define _ctf_enum(_name, _type, _item, _src, _user, _nowrite)  \
+       {                                                       \
+               .name = #_item,                                 \
+               .type = {                                       \
+                       .atype = atype_enum_nestable,           \
+                       .u = {                                  \
+                               .enum_nestable = {              \
+                                       .desc = &__enum_##_name, \
+                                       .container_type = __LTTNG_COMPOUND_LITERAL(struct lttng_type, \
+                                               __type_integer(_type, 0, 0, -1, __BYTE_ORDER, 10, none)), \
+                               },                              \
+                       },                                      \
+               },                                              \
+               .nowrite = _nowrite,                            \
+               .user = _user,                                  \
+               .nofilter = 0,                                  \
+       },
+
+#undef ctf_custom_field
+#define ctf_custom_field(_type, _item, _code)                  \
+       {                                                       \
+               .name = #_item,                                 \
+               .type = _type,                                  \
+               .nowrite = 0,                                   \
+               .user = 0,                                      \
+               .nofilter = 1,                                  \
+       },
+
+#undef ctf_custom_type
+#define ctf_custom_type(...)   __VA_ARGS__
+
+#undef TP_FIELDS
+#define TP_FIELDS(...) __VA_ARGS__     /* Only one used in this phase */
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
+       static const struct lttng_event_field __event_fields___##_name[] = { \
+               _fields                                                      \
+       };
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
+       LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, PARAMS(_fields), _code_post)
+
+#undef LTTNG_TRACEPOINT_ENUM
+#define LTTNG_TRACEPOINT_ENUM(_name, _values)                                          \
+       static const struct lttng_enum_desc __enum_##_name = {                          \
+               .name = #_name,                                                         \
+               .entries = __enum_values__##_name,                                      \
+               .nr_entries = ARRAY_SIZE(__enum_values__##_name),                       \
+       };
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+/*
+ * Stage 3 of the trace events.
+ *
+ * Create probe callback prototypes.
+ */
+
+/* Reset all macros within TRACEPOINT_EVENT */
+#include <lttng/events-reset.h>
+
+#undef TP_PROTO
+#define TP_PROTO(...)  __VA_ARGS__
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
+static void __event_probe__##_name(void *__data, _proto);
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
+static void __event_probe__##_name(void *__data);
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+/*
+ * Stage 4 of the trace events.
+ *
+ * Create static inline function that calculates event size.
+ */
+
+/* Reset all macros within TRACEPOINT_EVENT */
+#include <lttng/events-reset.h>
+#include <lttng/events-write.h>
+
+#undef _ctf_integer_ext
+#define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, _user, _nowrite) \
+       __event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_type)); \
+       __event_len += sizeof(_type);
+
+#undef _ctf_array_encoded
+#define _ctf_array_encoded(_type, _item, _src, _length, _encoding, _byte_order, _base, _user, _nowrite) \
+       __event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_type)); \
+       __event_len += sizeof(_type) * (_length);
+
+#undef _ctf_array_bitfield
+#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
+       _ctf_array_encoded(_type, _item, _src, _length, none, __LITTLE_ENDIAN, 0, _user, _nowrite)
+
+#undef _ctf_sequence_encoded
+#define _ctf_sequence_encoded(_type, _item, _src, _length_type,                        \
+                       _src_length, _encoding, _byte_order, _base, _user, _nowrite) \
+       __event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_length_type)); \
+       __event_len += sizeof(_length_type);                                   \
+       __event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_type)); \
+       {                                                                               \
+               size_t __seqlen = (_src_length);                                        \
+                                                                                       \
+               if (unlikely(++this_cpu_ptr(&lttng_dynamic_len_stack)->offset >= LTTNG_DYNAMIC_LEN_STACK_SIZE)) \
+                       goto error;                                                     \
+               barrier();      /* reserve before use. */                               \
+               this_cpu_ptr(&lttng_dynamic_len_stack)->stack[this_cpu_ptr(&lttng_dynamic_len_stack)->offset - 1] = __seqlen; \
+               __event_len += sizeof(_type) * __seqlen;                                \
+       }
+
+#undef _ctf_sequence_bitfield
+#define _ctf_sequence_bitfield(_type, _item, _src,             \
+                       _length_type, _src_length,              \
+                       _user, _nowrite)                        \
+       _ctf_sequence_encoded(_type, _item, _src, _length_type, _src_length, \
+               none, __LITTLE_ENDIAN, 10, _user, _nowrite)
+
+/*
+ * ctf_user_string includes \0. If returns 0, it faulted, so we set size to
+ * 1 (\0 only).
+ */
+#undef _ctf_string
+#define _ctf_string(_item, _src, _user, _nowrite)                             \
+       if (unlikely(++this_cpu_ptr(&lttng_dynamic_len_stack)->offset >= LTTNG_DYNAMIC_LEN_STACK_SIZE)) \
+               goto error;                                                    \
+       barrier();      /* reserve before use. */                              \
+       if (_user) {                                                           \
+               __event_len += this_cpu_ptr(&lttng_dynamic_len_stack)->stack[this_cpu_ptr(&lttng_dynamic_len_stack)->offset - 1] = \
+                       max_t(size_t, lttng_strlen_user_inatomic(_src), 1);    \
+       } else {                                                               \
+               __event_len += this_cpu_ptr(&lttng_dynamic_len_stack)->stack[this_cpu_ptr(&lttng_dynamic_len_stack)->offset - 1] = \
+                       strlen((_src) ? (_src) : __LTTNG_NULL_STRING) + 1; \
+       }
+
+#undef _ctf_enum
+#define _ctf_enum(_name, _type, _item, _src, _user, _nowrite)                 \
+       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, _user, _nowrite)
+
+#undef ctf_align
+#define ctf_align(_type)                                               \
+       __event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_type));
+
+#undef ctf_custom_field
+#define ctf_custom_field(_type, _item, _code)                          \
+       {                                                               \
+               _code                                                   \
+       }
+
+#undef ctf_custom_code
+#define ctf_custom_code(...)           __VA_ARGS__
+
+#undef TP_PROTO
+#define TP_PROTO(...)  __VA_ARGS__
+
+#undef TP_FIELDS
+#define TP_FIELDS(...) __VA_ARGS__
+
+#undef TP_locvar
+#define TP_locvar(...) __VA_ARGS__
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
+static inline ssize_t __event_get_size__##_name(void *__tp_locvar, _proto)     \
+{                                                                            \
+       size_t __event_len = 0;                                               \
+       unsigned int __dynamic_len_idx __attribute__((unused)) = 0;           \
+       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
+                                                                             \
+       _fields                                                               \
+       return __event_len;                                                   \
+                                                                             \
+error:                                                                       \
+       __attribute__((unused));                                              \
+       return -1;                                                            \
+}
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
+static inline ssize_t __event_get_size__##_name(void *__tp_locvar)           \
+{                                                                            \
+       size_t __event_len = 0;                                               \
+       unsigned int __dynamic_len_idx __attribute__((unused)) = 0;           \
+       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
+                                                                             \
+       _fields                                                               \
+       return __event_len;                                                   \
+                                                                             \
+error:                                                                       \
+       __attribute__((unused));                                              \
+       return -1;                                                            \
+}
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+
+/*
+ * Stage 4.1 of tracepoint event generation.
+ *
+ * Create static inline function that layout the filter stack data.
+ * We make both write and nowrite data available to the filter.
+ */
+
+/* Reset all macros within TRACEPOINT_EVENT */
+#include <lttng/events-reset.h>
+#include <lttng/events-write.h>
+#include <lttng/events-nowrite.h>
+
+#undef _ctf_integer_ext_fetched
+#define _ctf_integer_ext_fetched(_type, _item, _src, _byte_order, _base, _nowrite) \
+       if (lttng_is_signed_type(_type)) {                                     \
+               int64_t __ctf_tmp_int64;                                       \
+               switch (sizeof(_type)) {                                       \
+               case 1:                                                        \
+               {                                                              \
+                       union { _type t; int8_t v; } __tmp = { (_type) (_src) }; \
+                       __ctf_tmp_int64 = (int64_t) __tmp.v;                   \
+                       break;                                                 \
+               }                                                              \
+               case 2:                                                        \
+               {                                                              \
+                       union { _type t; int16_t v; } __tmp = { (_type) (_src) }; \
+                       if (_byte_order != __BYTE_ORDER)                       \
+                               __swab16s(&__tmp.v);                           \
+                       __ctf_tmp_int64 = (int64_t) __tmp.v;                   \
+                       break;                                                 \
+               }                                                              \
+               case 4:                                                        \
+               {                                                              \
+                       union { _type t; int32_t v; } __tmp = { (_type) (_src) }; \
+                       if (_byte_order != __BYTE_ORDER)                       \
+                               __swab32s(&__tmp.v);                           \
+                       __ctf_tmp_int64 = (int64_t) __tmp.v;                   \
+                       break;                                                 \
+               }                                                              \
+               case 8:                                                        \
+               {                                                              \
+                       union { _type t; int64_t v; } __tmp = { (_type) (_src) }; \
+                       if (_byte_order != __BYTE_ORDER)                       \
+                               __swab64s(&__tmp.v);                           \
+                       __ctf_tmp_int64 = (int64_t) __tmp.v;                   \
+                       break;                                                 \
+               }                                                              \
+               default:                                                       \
+                       BUG_ON(1);                                             \
+               };                                                             \
+               memcpy(__stack_data, &__ctf_tmp_int64, sizeof(int64_t));       \
+       } else {                                                               \
+               uint64_t __ctf_tmp_uint64;                                     \
+               switch (sizeof(_type)) {                                       \
+               case 1:                                                        \
+               {                                                              \
+                       union { _type t; uint8_t v; } __tmp = { (_type) (_src) }; \
+                       __ctf_tmp_uint64 = (uint64_t) __tmp.v;                 \
+                       break;                                                 \
+               }                                                              \
+               case 2:                                                        \
+               {                                                              \
+                       union { _type t; uint16_t v; } __tmp = { (_type) (_src) }; \
+                       if (_byte_order != __BYTE_ORDER)                       \
+                               __swab16s(&__tmp.v);                           \
+                       __ctf_tmp_uint64 = (uint64_t) __tmp.v;                 \
+                       break;                                                 \
+               }                                                              \
+               case 4:                                                        \
+               {                                                              \
+                       union { _type t; uint32_t v; } __tmp = { (_type) (_src) }; \
+                       if (_byte_order != __BYTE_ORDER)                       \
+                               __swab32s(&__tmp.v);                           \
+                       __ctf_tmp_uint64 = (uint64_t) __tmp.v;                 \
+                       break;                                                 \
+               }                                                              \
+               case 8:                                                        \
+               {                                                              \
+                       union { _type t; uint64_t v; } __tmp = { (_type) (_src) }; \
+                       if (_byte_order != __BYTE_ORDER)                       \
+                               __swab64s(&__tmp.v);                           \
+                       __ctf_tmp_uint64 = (uint64_t) __tmp.v;                 \
+                       break;                                                 \
+               }                                                              \
+               default:                                                       \
+                       BUG_ON(1);                                             \
+               };                                                             \
+               memcpy(__stack_data, &__ctf_tmp_uint64, sizeof(uint64_t));     \
+       }                                                                      \
+       __stack_data += sizeof(int64_t);
+
+#undef _ctf_integer_ext_isuser0
+#define _ctf_integer_ext_isuser0(_type, _item, _src, _byte_order, _base, _nowrite) \
+       _ctf_integer_ext_fetched(_type, _item, _src, _byte_order, _base, _nowrite)
+
+#undef _ctf_integer_ext_isuser1
+#define _ctf_integer_ext_isuser1(_type, _item, _user_src, _byte_order, _base, _nowrite) \
+{                                                                                      \
+       union {                                                                         \
+               char __array[sizeof(_user_src)];                                        \
+               __typeof__(_user_src) __v;                                              \
+       } __tmp_fetch;                                                                  \
+       if (lib_ring_buffer_copy_from_user_check_nofault(__tmp_fetch.__array,           \
+                               &(_user_src), sizeof(_user_src)))                       \
+               memset(__tmp_fetch.__array, 0, sizeof(__tmp_fetch.__array));            \
+       _ctf_integer_ext_fetched(_type, _item, __tmp_fetch.__v, _byte_order, _base, _nowrite) \
+}
+
+#undef _ctf_integer_ext
+#define _ctf_integer_ext(_type, _item, _user_src, _byte_order, _base, _user, _nowrite) \
+       _ctf_integer_ext_isuser##_user(_type, _item, _user_src, _byte_order, _base, _nowrite)
+
+#undef _ctf_array_encoded
+#define _ctf_array_encoded(_type, _item, _src, _length, _encoding, _byte_order, _base, _user, _nowrite) \
+       {                                                                      \
+               unsigned long __ctf_tmp_ulong = (unsigned long) (_length);     \
+               const void *__ctf_tmp_ptr = (_src);                            \
+               memcpy(__stack_data, &__ctf_tmp_ulong, sizeof(unsigned long)); \
+               __stack_data += sizeof(unsigned long);                         \
+               memcpy(__stack_data, &__ctf_tmp_ptr, sizeof(void *));          \
+               __stack_data += sizeof(void *);                                \
+       }
+
+#undef _ctf_array_bitfield
+#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
+       _ctf_array_encoded(_type, _item, _src, _length, none, __LITTLE_ENDIAN, 0, _user, _nowrite)
+
+#undef _ctf_sequence_encoded
+#define _ctf_sequence_encoded(_type, _item, _src, _length_type,                       \
+                       _src_length, _encoding, _byte_order, _base, _user, _nowrite) \
+       {                                                                      \
+               unsigned long __ctf_tmp_ulong = (unsigned long) (_src_length); \
+               const void *__ctf_tmp_ptr = (_src);                            \
+               memcpy(__stack_data, &__ctf_tmp_ulong, sizeof(unsigned long)); \
+               __stack_data += sizeof(unsigned long);                         \
+               memcpy(__stack_data, &__ctf_tmp_ptr, sizeof(void *));          \
+               __stack_data += sizeof(void *);                                \
+       }
+
+#undef _ctf_sequence_bitfield
+#define _ctf_sequence_bitfield(_type, _item, _src,             \
+                       _length_type, _src_length,              \
+                       _user, _nowrite)                        \
+       _ctf_sequence_encoded(_type, _item, _src, _length_type, _src_length, \
+               none, __LITTLE_ENDIAN, 10, _user, _nowrite)
+
+#undef _ctf_string
+#define _ctf_string(_item, _src, _user, _nowrite)                             \
+       {                                                                      \
+               const void *__ctf_tmp_ptr =                                    \
+                       ((_src) ? (_src) : __LTTNG_NULL_STRING);               \
+               memcpy(__stack_data, &__ctf_tmp_ptr, sizeof(void *));          \
+               __stack_data += sizeof(void *);                                \
+       }
+
+#undef _ctf_enum
+#define _ctf_enum(_name, _type, _item, _src, _user, _nowrite)                 \
+       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, _user, _nowrite)
+
+#undef TP_PROTO
+#define TP_PROTO(...) __VA_ARGS__
+
+#undef TP_FIELDS
+#define TP_FIELDS(...) __VA_ARGS__
+
+#undef TP_locvar
+#define TP_locvar(...) __VA_ARGS__
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
+static inline                                                                \
+void __event_prepare_filter_stack__##_name(char *__stack_data,               \
+               void *__tp_locvar)                                            \
+{                                                                            \
+       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
+                                                                             \
+       _fields                                                               \
+}
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
+static inline                                                                \
+void __event_prepare_filter_stack__##_name(char *__stack_data,               \
+               void *__tp_locvar, _proto)                                    \
+{                                                                            \
+       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
+                                                                             \
+       _fields                                                               \
+}
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+/*
+ * Stage 5 of the trace events.
+ *
+ * Create static inline function that calculates event payload alignment.
+ */
+
+/* Reset all macros within TRACEPOINT_EVENT */
+#include <lttng/events-reset.h>
+#include <lttng/events-write.h>
+
+#undef _ctf_integer_ext
+#define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, _user, _nowrite) \
+       __event_align = max_t(size_t, __event_align, lttng_alignof(_type));
+
+#undef _ctf_array_encoded
+#define _ctf_array_encoded(_type, _item, _src, _length, _encoding, _byte_order, _base, _user, _nowrite) \
+       __event_align = max_t(size_t, __event_align, lttng_alignof(_type));
+
+#undef _ctf_array_bitfield
+#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
+       _ctf_array_encoded(_type, _item, _src, _length, none, __LITTLE_ENDIAN, 0, _user, _nowrite)
+
+#undef _ctf_sequence_encoded
+#define _ctf_sequence_encoded(_type, _item, _src, _length_type,                        \
+                       _src_length, _encoding, _byte_order, _base, _user, _nowrite) \
+       __event_align = max_t(size_t, __event_align, lttng_alignof(_length_type)); \
+       __event_align = max_t(size_t, __event_align, lttng_alignof(_type));
+
+#undef _ctf_sequence_bitfield
+#define _ctf_sequence_bitfield(_type, _item, _src,             \
+                       _length_type, _src_length,              \
+                       _user, _nowrite)                        \
+       _ctf_sequence_encoded(_type, _item, _src, _length_type, _src_length, \
+               none, __LITTLE_ENDIAN, 10, _user, _nowrite)
+
+#undef _ctf_string
+#define _ctf_string(_item, _src, _user, _nowrite)
+
+#undef _ctf_enum
+#define _ctf_enum(_name, _type, _item, _src, _user, _nowrite)  \
+       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, _user, _nowrite)
+
+#undef ctf_align
+#define ctf_align(_type)                                               \
+       __event_align = max_t(size_t, __event_align, lttng_alignof(_type));
+
+#undef TP_PROTO
+#define TP_PROTO(...)  __VA_ARGS__
+
+#undef TP_FIELDS
+#define TP_FIELDS(...) __VA_ARGS__
+
+#undef TP_locvar
+#define TP_locvar(...) __VA_ARGS__
+
+#undef ctf_custom_field
+#define ctf_custom_field(_type, _item, _code)          _code
+
+#undef ctf_custom_code
+#define ctf_custom_code(...)                                           \
+       {                                                               \
+               __VA_ARGS__                                             \
+       }
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
+static inline size_t __event_get_align__##_name(void *__tp_locvar, _proto)    \
+{                                                                            \
+       size_t __event_align = 1;                                             \
+       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
+                                                                             \
+       _fields                                                               \
+       return __event_align;                                                 \
+}
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
+static inline size_t __event_get_align__##_name(void *__tp_locvar)           \
+{                                                                            \
+       size_t __event_align = 1;                                             \
+       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
+                                                                             \
+       _fields                                                               \
+       return __event_align;                                                 \
+}
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+/*
+ * Stage 6 of tracepoint event generation.
+ *
+ * Create the probe function. This function calls event size calculation
+ * and writes event data into the buffer.
+ */
+
+/* Reset all macros within TRACEPOINT_EVENT */
+#include <lttng/events-reset.h>
+#include <lttng/events-write.h>
+
+#undef _ctf_integer_ext_fetched
+#define _ctf_integer_ext_fetched(_type, _item, _src, _byte_order, _base, _nowrite) \
+       {                                                               \
+               _type __tmp = _src;                                     \
+               lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(__tmp));\
+               __chan->ops->event_write(&__ctx, &__tmp, sizeof(__tmp));\
+       }
+
+#undef _ctf_integer_ext_isuser0
+#define _ctf_integer_ext_isuser0(_type, _item, _src, _byte_order, _base, _nowrite) \
+       _ctf_integer_ext_fetched(_type, _item, _src, _byte_order, _base, _nowrite)
+
+#undef _ctf_integer_ext_isuser1
+#define _ctf_integer_ext_isuser1(_type, _item, _user_src, _byte_order, _base, _nowrite) \
+{                                                                             \
+       union {                                                                         \
+               char __array[sizeof(_user_src)];                                        \
+               __typeof__(_user_src) __v;                                              \
+       } __tmp_fetch;                                                                  \
+       if (lib_ring_buffer_copy_from_user_check_nofault(__tmp_fetch.__array,           \
+                               &(_user_src), sizeof(_user_src)))                       \
+               memset(__tmp_fetch.__array, 0, sizeof(__tmp_fetch.__array));            \
+       _ctf_integer_ext_fetched(_type, _item, __tmp_fetch.__v, _byte_order, _base, _nowrite) \
+}
+
+#undef _ctf_integer_ext
+#define _ctf_integer_ext(_type, _item, _user_src, _byte_order, _base, _user, _nowrite) \
+       _ctf_integer_ext_isuser##_user(_type, _item, _user_src, _byte_order, _base, _nowrite)
+
+#undef _ctf_array_encoded
+#define _ctf_array_encoded(_type, _item, _src, _length, _encoding, _byte_order, _base, _user, _nowrite) \
+       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
+       if (_user) {                                                    \
+               __chan->ops->event_write_from_user(&__ctx, _src, sizeof(_type) * (_length)); \
+       } else {                                                        \
+               __chan->ops->event_write(&__ctx, _src, sizeof(_type) * (_length)); \
+       }
+
+#if (__BYTE_ORDER == __LITTLE_ENDIAN)
+#undef _ctf_array_bitfield
+#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
+       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
+       if (_user) {                                                    \
+               __chan->ops->event_write_from_user(&__ctx, _src, sizeof(_type) * (_length)); \
+       } else {                                                        \
+               __chan->ops->event_write(&__ctx, _src, sizeof(_type) * (_length)); \
+       }
+#else /* #if (__BYTE_ORDER == __LITTLE_ENDIAN) */
+/*
+ * For big endian, we need to byteswap into little endian.
+ */
+#undef _ctf_array_bitfield
+#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
+       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
+       {                                                               \
+               size_t _i;                                              \
+                                                                       \
+               for (_i = 0; _i < (_length); _i++) {                    \
+                       _type _tmp;                                     \
+                                                                       \
+                       if (_user) {                                    \
+                               if (get_user(_tmp, (_type *) _src + _i)) \
+                                       _tmp = 0;                       \
+                       } else {                                        \
+                               _tmp = ((_type *) _src)[_i];            \
+                       }                                               \
+                       switch (sizeof(_type)) {                        \
+                       case 1:                                         \
+                               break;                                  \
+                       case 2:                                         \
+                               _tmp = cpu_to_le16(_tmp);               \
+                               break;                                  \
+                       case 4:                                         \
+                               _tmp = cpu_to_le32(_tmp);               \
+                               break;                                  \
+                       case 8:                                         \
+                               _tmp = cpu_to_le64(_tmp);               \
+                               break;                                  \
+                       default:                                        \
+                               BUG_ON(1);                              \
+                       }                                               \
+                       __chan->ops->event_write(&__ctx, &_tmp, sizeof(_type)); \
+               }                                                       \
+       }
+#endif /* #else #if (__BYTE_ORDER == __LITTLE_ENDIAN) */
+
+#undef _ctf_sequence_encoded
+#define _ctf_sequence_encoded(_type, _item, _src, _length_type,                \
+                       _src_length, _encoding, _byte_order, _base, _user, _nowrite) \
+       {                                                               \
+               _length_type __tmpl = this_cpu_ptr(&lttng_dynamic_len_stack)->stack[__dynamic_len_idx]; \
+               lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_length_type));\
+               __chan->ops->event_write(&__ctx, &__tmpl, sizeof(_length_type));\
+       }                                                               \
+       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
+       if (_user) {                                                    \
+               __chan->ops->event_write_from_user(&__ctx, _src,        \
+                       sizeof(_type) * __get_dynamic_len(dest));       \
+       } else {                                                        \
+               __chan->ops->event_write(&__ctx, _src,                  \
+                       sizeof(_type) * __get_dynamic_len(dest));       \
+       }
+
+#if (__BYTE_ORDER == __LITTLE_ENDIAN)
+#undef _ctf_sequence_bitfield
+#define _ctf_sequence_bitfield(_type, _item, _src,             \
+                       _length_type, _src_length,              \
+                       _user, _nowrite)                        \
+       {                                                               \
+               _length_type __tmpl = this_cpu_ptr(&lttng_dynamic_len_stack)->stack[__dynamic_len_idx] * sizeof(_type) * CHAR_BIT; \
+               lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_length_type));\
+               __chan->ops->event_write(&__ctx, &__tmpl, sizeof(_length_type));\
+       }                                                               \
+       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
+       if (_user) {                                                    \
+               __chan->ops->event_write_from_user(&__ctx, _src,        \
+                       sizeof(_type) * __get_dynamic_len(dest));       \
+       } else {                                                        \
+               __chan->ops->event_write(&__ctx, _src,                  \
+                       sizeof(_type) * __get_dynamic_len(dest));       \
+       }
+#else /* #if (__BYTE_ORDER == __LITTLE_ENDIAN) */
+/*
+ * For big endian, we need to byteswap into little endian.
+ */
+#undef _ctf_sequence_bitfield
+#define _ctf_sequence_bitfield(_type, _item, _src,             \
+                       _length_type, _src_length,              \
+                       _user, _nowrite)                        \
+       {                                                       \
+               _length_type __tmpl = this_cpu_ptr(&lttng_dynamic_len_stack)->stack[__dynamic_len_idx] * sizeof(_type) * CHAR_BIT; \
+               lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_length_type));\
+               __chan->ops->event_write(&__ctx, &__tmpl, sizeof(_length_type));\
+       }                                                               \
+       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
+       {                                                               \
+               size_t _i, _length;                                     \
+                                                                       \
+               _length = __get_dynamic_len(dest);                      \
+               for (_i = 0; _i < _length; _i++) {                      \
+                       _type _tmp;                                     \
+                                                                       \
+                       if (_user) {                                    \
+                               if (get_user(_tmp, (_type *) _src + _i)) \
+                                       _tmp = 0;                       \
+                       } else {                                        \
+                               _tmp = ((_type *) _src)[_i];            \
+                       }                                               \
+                       switch (sizeof(_type)) {                        \
+                       case 1:                                         \
+                               break;                                  \
+                       case 2:                                         \
+                               _tmp = cpu_to_le16(_tmp);               \
+                               break;                                  \
+                       case 4:                                         \
+                               _tmp = cpu_to_le32(_tmp);               \
+                               break;                                  \
+                       case 8:                                         \
+                               _tmp = cpu_to_le64(_tmp);               \
+                               break;                                  \
+                       default:                                        \
+                               BUG_ON(1);                              \
+                       }                                               \
+                       __chan->ops->event_write(&__ctx, &_tmp, sizeof(_type)); \
+               }                                                       \
+       }
+#endif /* #else #if (__BYTE_ORDER == __LITTLE_ENDIAN) */
+
+#undef _ctf_string
+#define _ctf_string(_item, _src, _user, _nowrite)                      \
+       if (_user) {                                                    \
+               lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(*(_src))); \
+               __chan->ops->event_strcpy_from_user(&__ctx, _src,       \
+                       __get_dynamic_len(dest));                       \
+       } else {                                                        \
+               const char *__ctf_tmp_string =                          \
+                       ((_src) ? (_src) : __LTTNG_NULL_STRING);        \
+               lib_ring_buffer_align_ctx(&__ctx,                       \
+                       lttng_alignof(*__ctf_tmp_string));              \
+               __chan->ops->event_strcpy(&__ctx, __ctf_tmp_string,     \
+                       __get_dynamic_len(dest));                       \
+       }
+
+#undef _ctf_enum
+#define _ctf_enum(_name, _type, _item, _src, _user, _nowrite)          \
+       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, _user, _nowrite)
+
+#undef ctf_align
+#define ctf_align(_type)                                               \
+       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));
+
+#undef ctf_custom_field
+#define ctf_custom_field(_type, _item, _code)          _code
+
+#undef ctf_custom_code
+#define ctf_custom_code(...)                                           \
+       {                                                               \
+               __VA_ARGS__                                             \
+       }
+
+/* Beware: this get len actually consumes the len value */
+#undef __get_dynamic_len
+#define __get_dynamic_len(field)       this_cpu_ptr(&lttng_dynamic_len_stack)->stack[__dynamic_len_idx++]
+
+#undef TP_PROTO
+#define TP_PROTO(...)  __VA_ARGS__
+
+#undef TP_ARGS
+#define TP_ARGS(...)   __VA_ARGS__
+
+#undef TP_FIELDS
+#define TP_FIELDS(...) __VA_ARGS__
+
+#undef TP_locvar
+#define TP_locvar(...) __VA_ARGS__
+
+#undef TP_code_pre
+#define TP_code_pre(...)       __VA_ARGS__
+
+#undef TP_code_post
+#define TP_code_post(...)      __VA_ARGS__
+
+/*
+ * For state dump, check that "session" argument (mandatory) matches the
+ * session this event belongs to. Ensures that we write state dump data only
+ * into the started session, not into all sessions.
+ */
+#ifdef TP_SESSION_CHECK
+#define _TP_SESSION_CHECK(session, csession)   (session == csession)
+#else /* TP_SESSION_CHECK */
+#define _TP_SESSION_CHECK(session, csession)   1
+#endif /* TP_SESSION_CHECK */
+
+/*
+ * Using twice size for filter stack data to hold size and pointer for
+ * each field (worse case). For integers, max size required is 64-bit.
+ * Same for double-precision floats. Those fit within
+ * 2*sizeof(unsigned long) for all supported architectures.
+ * Perform UNION (||) of filter runtime list.
+ */
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
+static void __event_probe__##_name(void *__data, _proto)                     \
+{                                                                            \
+       struct probe_local_vars { _locvar };                                  \
+       struct lttng_event *__event = __data;                                 \
+       struct lttng_probe_ctx __lttng_probe_ctx = {                                  \
+               .event = __event,                                             \
+               .interruptible = !irqs_disabled(),                            \
+       };                                                                    \
+       struct lttng_channel *__chan = __event->chan;                         \
+       struct lttng_session *__session = __chan->session;                    \
+       struct lib_ring_buffer_ctx __ctx;                                     \
+       ssize_t __event_len;                                                  \
+       size_t __event_align;                                                 \
+       size_t __orig_dynamic_len_offset, __dynamic_len_idx __attribute__((unused)); \
+       union {                                                               \
+               size_t __dynamic_len_removed[ARRAY_SIZE(__event_fields___##_name)];   \
+               char __filter_stack_data[2 * sizeof(unsigned long) * ARRAY_SIZE(__event_fields___##_name)]; \
+       } __stackvar;                                                         \
+       int __ret;                                                            \
+       struct probe_local_vars __tp_locvar;                                  \
+       struct probe_local_vars *tp_locvar __attribute__((unused)) =          \
+                       &__tp_locvar;                                         \
+       struct lttng_id_tracker_rcu *__lf;                                    \
+                                                                             \
+       if (!_TP_SESSION_CHECK(session, __session))                           \
+               return;                                                       \
+       if (unlikely(!READ_ONCE(__session->active)))                          \
+               return;                                                       \
+       if (unlikely(!READ_ONCE(__chan->enabled)))                            \
+               return;                                                       \
+       if (unlikely(!READ_ONCE(__event->enabled)))                           \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->pid_tracker.p);               \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf, current->tgid)))    \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->vpid_tracker.p);              \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf, task_tgid_vnr(current)))) \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->uid_tracker.p);               \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
+                       lttng_current_uid())))                                \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->vuid_tracker.p);              \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
+                       lttng_current_vuid())))                               \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->gid_tracker.p);               \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
+                       lttng_current_gid())))                                \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->vgid_tracker.p);              \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
+                       lttng_current_vgid())))                               \
+               return;                                                       \
+       __orig_dynamic_len_offset = this_cpu_ptr(&lttng_dynamic_len_stack)->offset; \
+       __dynamic_len_idx = __orig_dynamic_len_offset;                        \
+       _code_pre                                                             \
+       if (unlikely(!list_empty(&__event->bytecode_runtime_head))) {         \
+               struct lttng_bytecode_runtime *bc_runtime;                    \
+               int __filter_record = __event->has_enablers_without_bytecode; \
+                                                                             \
+               __event_prepare_filter_stack__##_name(__stackvar.__filter_stack_data, \
+                               tp_locvar, _args);                                    \
+               lttng_list_for_each_entry_rcu(bc_runtime, &__event->bytecode_runtime_head, node) { \
+                       if (unlikely(bc_runtime->filter(bc_runtime, &__lttng_probe_ctx,       \
+                                       __stackvar.__filter_stack_data) & LTTNG_FILTER_RECORD_FLAG)) { \
+                               __filter_record = 1;                          \
+                               break;                                        \
+                       }                                                     \
+               }                                                             \
+               if (likely(!__filter_record))                                 \
+                       goto __post;                                          \
+       }                                                                     \
+       __event_len = __event_get_size__##_name(tp_locvar, _args);            \
+       if (unlikely(__event_len < 0)) {                                      \
+               lib_ring_buffer_lost_event_too_big(__chan->chan);             \
+               goto __post;                                                  \
+       }                                                                     \
+       __event_align = __event_get_align__##_name(tp_locvar, _args);         \
+       lib_ring_buffer_ctx_init(&__ctx, __chan->chan, &__lttng_probe_ctx, __event_len,  \
+                                __event_align, -1);                          \
+       __ret = __chan->ops->event_reserve(&__ctx, __event->id);              \
+       if (__ret < 0)                                                        \
+               goto __post;                                                  \
+       _fields                                                               \
+       __chan->ops->event_commit(&__ctx);                                    \
+__post:                                                                              \
+       _code_post                                                            \
+       barrier();      /* use before un-reserve. */                          \
+       this_cpu_ptr(&lttng_dynamic_len_stack)->offset = __orig_dynamic_len_offset; \
+       return;                                                               \
+}
+
+#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
+static void __event_probe__##_name(void *__data)                             \
+{                                                                            \
+       struct probe_local_vars { _locvar };                                  \
+       struct lttng_event *__event = __data;                                 \
+       struct lttng_probe_ctx __lttng_probe_ctx = {                                  \
+               .event = __event,                                             \
+               .interruptible = !irqs_disabled(),                            \
+       };                                                                    \
+       struct lttng_channel *__chan = __event->chan;                         \
+       struct lttng_session *__session = __chan->session;                    \
+       struct lib_ring_buffer_ctx __ctx;                                     \
+       ssize_t __event_len;                                                  \
+       size_t __event_align;                                                 \
+       size_t __orig_dynamic_len_offset, __dynamic_len_idx __attribute__((unused)); \
+       union {                                                               \
+               size_t __dynamic_len_removed[ARRAY_SIZE(__event_fields___##_name)];   \
+               char __filter_stack_data[2 * sizeof(unsigned long) * ARRAY_SIZE(__event_fields___##_name)]; \
+       } __stackvar;                                                         \
+       int __ret;                                                            \
+       struct probe_local_vars __tp_locvar;                                  \
+       struct probe_local_vars *tp_locvar __attribute__((unused)) =          \
+                       &__tp_locvar;                                         \
+       struct lttng_id_tracker_rcu *__lf;                                    \
+                                                                             \
+       if (!_TP_SESSION_CHECK(session, __session))                           \
+               return;                                                       \
+       if (unlikely(!READ_ONCE(__session->active)))                          \
+               return;                                                       \
+       if (unlikely(!READ_ONCE(__chan->enabled)))                            \
+               return;                                                       \
+       if (unlikely(!READ_ONCE(__event->enabled)))                           \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->pid_tracker.p);               \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf, current->tgid)))    \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->vpid_tracker.p);              \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf, task_tgid_vnr(current)))) \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->uid_tracker.p);               \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
+                       lttng_current_uid())))                                \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->vuid_tracker.p);              \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
+                       lttng_current_vuid())))                               \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->gid_tracker.p);               \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
+                       lttng_current_gid())))                                \
+               return;                                                       \
+       __lf = lttng_rcu_dereference(__session->vgid_tracker.p);              \
+       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
+                       lttng_current_vgid())))                               \
+               return;                                                       \
+       __orig_dynamic_len_offset = this_cpu_ptr(&lttng_dynamic_len_stack)->offset; \
+       __dynamic_len_idx = __orig_dynamic_len_offset;                        \
+       _code_pre                                                             \
+       if (unlikely(!list_empty(&__event->bytecode_runtime_head))) {         \
+               struct lttng_bytecode_runtime *bc_runtime;                    \
+               int __filter_record = __event->has_enablers_without_bytecode; \
+                                                                             \
+               __event_prepare_filter_stack__##_name(__stackvar.__filter_stack_data, \
+                               tp_locvar);                                   \
+               lttng_list_for_each_entry_rcu(bc_runtime, &__event->bytecode_runtime_head, node) { \
+                       if (unlikely(bc_runtime->filter(bc_runtime, &__lttng_probe_ctx, \
+                                       __stackvar.__filter_stack_data) & LTTNG_FILTER_RECORD_FLAG)) { \
+                               __filter_record = 1;                          \
+                               break;                                        \
+                       }                                                     \
+               }                                                             \
+               if (likely(!__filter_record))                                 \
+                       goto __post;                                          \
+       }                                                                     \
+       __event_len = __event_get_size__##_name(tp_locvar);                   \
+       if (unlikely(__event_len < 0)) {                                      \
+               lib_ring_buffer_lost_event_too_big(__chan->chan);             \
+               goto __post;                                                  \
+       }                                                                     \
+       __event_align = __event_get_align__##_name(tp_locvar);                \
+       lib_ring_buffer_ctx_init(&__ctx, __chan->chan, &__lttng_probe_ctx, __event_len,  \
+                                __event_align, -1);                          \
+       __ret = __chan->ops->event_reserve(&__ctx, __event->id);              \
+       if (__ret < 0)                                                        \
+               goto __post;                                                  \
+       _fields                                                               \
+       __chan->ops->event_commit(&__ctx);                                    \
+__post:                                                                              \
+       _code_post                                                            \
+       barrier();      /* use before un-reserve. */                          \
+       this_cpu_ptr(&lttng_dynamic_len_stack)->offset = __orig_dynamic_len_offset; \
+       return;                                                               \
+}
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+#undef __get_dynamic_len
+
+/*
+ * Stage 7 of the trace events.
+ *
+ * Create event descriptions.
+ */
+
+/* Named field types must be defined in lttng-types.h */
+
+#include <lttng/events-reset.h>        /* Reset all macros within LTTNG_TRACEPOINT_EVENT */
+
+#ifndef TP_PROBE_CB
+#define TP_PROBE_CB(_template) &__event_probe__##_template
+#endif
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map)     \
+static const struct lttng_event_desc __event_desc___##_map = {         \
+       .fields = __event_fields___##_template,                         \
+       .name = #_map,                                                  \
+       .kname = #_name,                                                \
+       .probe_callback = (void *) TP_PROBE_CB(_template),              \
+       .nr_fields = ARRAY_SIZE(__event_fields___##_template),          \
+       .owner = THIS_MODULE,                                           \
+};
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args) \
+       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map)
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+/*
+ * Stage 8 of the trace events.
+ *
+ * Create an array of event description pointers.
+ */
+
+#include <lttng/events-reset.h>        /* Reset all macros within LTTNG_TRACEPOINT_EVENT */
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map) \
+               &__event_desc___##_map,
+
+#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args) \
+       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map)
+
+#define TP_ID1(_token, _system)        _token##_system
+#define TP_ID(_token, _system) TP_ID1(_token, _system)
+
+static const struct lttng_event_desc *TP_ID(__event_desc___, TRACE_SYSTEM)[] = {
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+};
+
+#undef TP_ID1
+#undef TP_ID
+
+/*
+ * Stage 9 of the trace events.
+ *
+ * Create a toplevel descriptor for the whole probe.
+ */
+
+#define TP_ID1(_token, _system)        _token##_system
+#define TP_ID(_token, _system) TP_ID1(_token, _system)
+
+/* non-const because list head will be modified when registered. */
+static __used struct lttng_probe_desc TP_ID(__probe_desc___, TRACE_SYSTEM) = {
+       .provider = __stringify(TRACE_SYSTEM),
+       .event_desc = TP_ID(__event_desc___, TRACE_SYSTEM),
+       .nr_events = ARRAY_SIZE(TP_ID(__event_desc___, TRACE_SYSTEM)),
+       .head = { NULL, NULL },
+       .lazy_init_head = { NULL, NULL },
+       .lazy = 0,
+};
+
+#undef TP_ID1
+#undef TP_ID
+
+/*
+ * Stage 10 of the trace events.
+ *
+ * Register/unregister probes at module load/unload.
+ */
+
+#include <lttng/events-reset.h>        /* Reset all macros within LTTNG_TRACEPOINT_EVENT */
+
+#define TP_ID1(_token, _system)        _token##_system
+#define TP_ID(_token, _system) TP_ID1(_token, _system)
+#define module_init_eval1(_token, _system)     module_init(_token##_system)
+#define module_init_eval(_token, _system)      module_init_eval1(_token, _system)
+#define module_exit_eval1(_token, _system)     module_exit(_token##_system)
+#define module_exit_eval(_token, _system)      module_exit_eval1(_token, _system)
+
+#ifndef TP_MODULE_NOINIT
+static int TP_ID(__lttng_events_init__, TRACE_SYSTEM)(void)
+{
+       wrapper_vmalloc_sync_mappings();
+       return lttng_probe_register(&TP_ID(__probe_desc___, TRACE_SYSTEM));
+}
+
+static void TP_ID(__lttng_events_exit__, TRACE_SYSTEM)(void)
+{
+       lttng_probe_unregister(&TP_ID(__probe_desc___, TRACE_SYSTEM));
+}
+
+#ifndef TP_MODULE_NOAUTOLOAD
+module_init_eval(__lttng_events_init__, TRACE_SYSTEM);
+module_exit_eval(__lttng_events_exit__, TRACE_SYSTEM);
+#endif
+
+#endif
+
+#undef module_init_eval
+#undef module_exit_eval
+#undef TP_ID1
+#undef TP_ID
+
+#undef TP_PROTO
+#undef TP_ARGS
diff --git a/include/lttng/tracepoint-event.h b/include/lttng/tracepoint-event.h
new file mode 100644 (file)
index 0000000..d3ad1b3
--- /dev/null
@@ -0,0 +1,51 @@
+/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
+ *
+ * lttng/tracepoint-event.h
+ *
+ * Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ */
+
+#ifndef LTTNG_TRACEPOINT_EVENT_H
+#define LTTNG_TRACEPOINT_EVENT_H
+
+#include <linux/tracepoint.h>
+
+/*
+ * If code defines LTTNG_INSTRUMENTATION before including the instrumentation
+ * header, generate the instrumentation static inlines. Else, it means
+ * we are a probe for the Linux kernel, and it is the probe responsibility
+ * to have already included the Linux kernel instrumentation header.
+ */
+#ifdef LTTNG_INSTRUMENTATION
+#define _LTTNG_INSTRUMENTATION(...)    __VA_ARGS__
+#else
+#define _LTTNG_INSTRUMENTATION(...)
+#endif
+
+#define LTTNG_TRACEPOINT_EVENT(name, proto, args, fields) \
+       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
+#define LTTNG_TRACEPOINT_EVENT_CODE(name, proto, args, _locvar, _code_pre, fields, _code_post) \
+       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
+#define LTTNG_TRACEPOINT_EVENT_CODE_MAP(name, map, proto, args, _locvar, _code_pre, fields, _code_post) \
+       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
+#define LTTNG_TRACEPOINT_EVENT_MAP(name, map, proto, args, fields) \
+       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
+#define LTTNG_TRACEPOINT_EVENT_MAP_NOARGS(name, map, fields) \
+       _LTTNG_INSTRUMENTATION(DECLARE_TRACE_NOARGS(name))
+
+#define LTTNG_TRACEPOINT_EVENT_CLASS(name, proto, args, fields)
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post)
+#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post)
+
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE(template, name, proto, args) \
+       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS(template, name) \
+       _LTTNG_INSTRUMENTATION(DECLARE_TRACE_NOARGS(name))
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args) \
+       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
+#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map) \
+       _LTTNG_INSTRUMENTATION(DECLARE_TRACE_NOARGS(name))
+
+#define LTTNG_TRACEPOINT_ENUM(_name, _values)
+
+#endif /* LTTNG_TRACEPOINT_EVENT_H */
diff --git a/include/lttng/types.h b/include/lttng/types.h
new file mode 100644 (file)
index 0000000..fa09dce
--- /dev/null
@@ -0,0 +1,73 @@
+/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
+ *
+ * lttng/types.h
+ *
+ * LTTng types.
+ *
+ * Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ */
+
+/*
+ * Protect against multiple inclusion of structure declarations, but run the
+ * stages below each time.
+ */
+#ifndef _LTTNG_PROBES_LTTNG_TYPES_H
+#define _LTTNG_PROBES_LTTNG_TYPES_H
+
+#include <linux/seq_file.h>
+#include <lttng-events.h>
+#include <lttng-tracer.h>
+#include <lttng-endian.h>
+
+#endif /* _LTTNG_PROBES_LTTNG_TYPES_H */
+
+#undef PARAMS
+#define PARAMS(args...)                args
+
+/* Export enumerations */
+
+#ifdef STAGE_EXPORT_ENUMS
+
+#undef TRACE_EVENT_TYPE
+#define TRACE_EVENT_TYPE(_name, _abstract_type, args...)
+
+#undef TRACE_EVENT_ENUM
+#define TRACE_EVENT_ENUM(_name, _entries...)                           \
+       const struct lttng_enum_entry __trace_event_enum_##_name[] = {  \
+               PARAMS(_entries)                                        \
+       };
+
+/* Enumeration entry (single value) */
+#undef V
+#define V(_string)             { _string, _string, #_string}
+
+/* Enumeration entry (range) */
+#undef R
+#define R(_string, _range_start, _range_end)                           \
+       { _range_start, _range_end, #_string }
+
+#endif /* STAGE_EXPORT_ENUMS */
+
+
+/* Export named types */
+
+#ifdef STAGE_EXPORT_TYPES
+
+#undef TRACE_EVENT_TYPE___enum
+#define TRACE_EVENT_TYPE___enum(_name, _container_type)                        \
+               {                                                       \
+                 .name = #_name,                                       \
+                 .container_type = __type_integer(_container_type, 0, 0, -1, __BYTE_ORDER, 10, none), \
+                 .entries = __trace_event_enum_##_name, \
+                 .len = ARRAY_SIZE(__trace_event_enum_##_name), \
+               },
+
+/* Local declaration */
+#undef TRACE_EVENT_TYPE
+#define TRACE_EVENT_TYPE(_name, _abstract_type, args...)       \
+               TRACE_EVENT_TYPE___##_abstract_type(_name, args)
+
+#undef TRACE_EVENT_ENUM
+#define TRACE_EVENT_ENUM(_name, _entries...)
+
+#endif /* STAGE_EXPORT_TYPES */
index 509b984fc0c5b7cee126abf61dbbda25342b4423..0123bbfc9b564ed23ca3f224a2ebeb3e40800fec 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_9P_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_9P_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/version.h>
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
@@ -54,4 +54,4 @@ LTTNG_TRACEPOINT_EVENT(9p_protocol_dump,
 #endif /* LTTNG_TRACE_9P_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index ec34d35b35eaae33e315cc45d77e294f7a39fd74..eb55138a7a2ed2e0029ba0d0e5c40ec1e6727011 100644 (file)
@@ -2,7 +2,7 @@
 #if !defined(LTTNG_TRACE_EXCEPTIONS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_EXCEPTIONS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/version.h>
 
 #undef TRACE_SYSTEM
@@ -50,4 +50,4 @@ LTTNG_EXCEPTIONS_TRACEPOINT_EVENT_INSTANCE_MAP(page_fault_kernel,
 #define TRACE_INCLUDE_FILE exceptions
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index aa0d6d7128b32f3ac4caa9d8c4a2c578f641b302..ff0f45b85586bd20f5bb37e01d1258b115a93d62 100644 (file)
@@ -2,7 +2,7 @@
 #if !defined(LTTNG_TRACE_IRQ_VECTORS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_IRQ_VECTORS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/version.h>
 
 #undef TRACE_SYSTEM
@@ -113,4 +113,4 @@ LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(thermal_apic,
 #define TRACE_INCLUDE_FILE irq_vectors
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 3ccae18712676fdb170a941a6ede439daeb924da..1195ded72bfa7ff95f6634329dfa41895df2ad0a 100644 (file)
@@ -2,7 +2,7 @@
 #if !defined(LTTNG_TRACE_KVM_MMU_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_KVM_MMU_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/version.h>
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0))
@@ -271,4 +271,4 @@ LTTNG_TRACEPOINT_EVENT_MAP(
 #define TRACE_INCLUDE_FILE mmutrace
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 0969d32a9f94ee8bef74c4d41918b5ecad2a78d0..1b3b9ebc7ff06d831ce6f8613f1f53a12a5f6642 100644 (file)
@@ -2,7 +2,7 @@
 #if !defined(LTTNG_TRACE_KVM_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_KVM_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <asm/vmx.h>
 #include <asm/svm.h>
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
@@ -537,4 +537,4 @@ LTTNG_TRACEPOINT_EVENT_MAP(kvm_track_tsc, kvm_x86_track_tsc,
 #define TRACE_INCLUDE_FILE trace
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index eed81cdf9bbb4b85b471b85ad9984c2dfbe34818..7d86af876058a34908f77878698f5d610ab46d3c 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_ASOC_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/ktime.h>
 #include <linux/version.h>
 
@@ -411,4 +411,4 @@ LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_cache_sync,
 #endif /* LTTNG_TRACE_ASOC_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index d98febe2509e4a928421f852d399fa996c457306..3b087d66553cdc176160aac0e97901cad3e43782 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_BLOCK_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_BLOCK_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/blktrace_api.h>
 #include <linux/blkdev.h>
 #include <linux/trace_seq.h>
@@ -1051,4 +1051,4 @@ LTTNG_TRACEPOINT_EVENT(block_rq_remap,
 #endif /* LTTNG_TRACE_BLOCK_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 46cb29b804b09364b2e098812931db71c9e99cb0..f38444bfac11d290c92816cc59dc903d15a1790a 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_BTRFS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_BTRFS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/writeback.h>
 #include <linux/version.h>
 
@@ -2382,4 +2382,4 @@ LTTNG_TRACEPOINT_EVENT_MAP(free_extent_state,
 #endif /* LTTNG_TRACE_BTRFS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 6d8e4dd977d948a04aa14c2859c07b653f4c9b3a..72925c14d55d98a02f467b75d06fb5206ea67b4d 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_COMPACTION_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_COMPACTION_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/types.h>
 #include <linux/version.h>
 
@@ -155,4 +155,4 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages,
 #endif /* LTTNG_TRACE_COMPACTION_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index e40f4888e88c429b6d3276b48b871a4516b68c58..8852a1eea3bcbfbf8bb789d1addc20accee4b5e4 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_EXT3_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_EXT3_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/version.h>
 
 LTTNG_TRACEPOINT_EVENT(ext3_free_inode,
@@ -519,4 +519,4 @@ LTTNG_TRACEPOINT_EVENT(ext3_load_inode,
 #endif /* LTTNG_TRACE_EXT3_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 9918bcbc1d78daa339f87aa74bbae8d7f383b486..e57aff8b5ac38b0d7429adf0d9f3e8e3f4506546 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_EXT4_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_EXT4_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/writeback.h>
 #include <linux/version.h>
 
@@ -1868,4 +1868,4 @@ LTTNG_TRACEPOINT_EVENT(ext4_es_shrink_exit,
 #endif /* LTTNG_TRACE_EXT4_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 7a9246e78c68d0a1911f05f8ec878e5bbcf3b337..97e5e847b23e0d089dd134265321c20fc78e6ed5 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_GPIO_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 
 LTTNG_TRACEPOINT_EVENT(gpio_direction,
 
@@ -36,4 +36,4 @@ LTTNG_TRACEPOINT_EVENT(gpio_value,
 #endif /* if !defined(LTTNG_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 7fad2f7d2a50dd5043e4a8a5fd1b2da80de51084..312f6733120a0229ba4ec73f56fbb917b68a8087 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_I2C_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_I2C_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 
 /*
  * __i2c_transfer() write request
@@ -117,4 +117,4 @@ LTTNG_TRACEPOINT_EVENT(i2c_result,
 #endif /*  LTTNG_TRACE_I2C_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index e1bbbafe7f8e3933416abfb4b496ae1a50dacfa7..a66b81398f9ea1c40369bab3ad92ce0bce015af0 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_IRQ_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_IRQ_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 
 #ifndef _TRACE_IRQ_DEF_
 #define _TRACE_IRQ_DEF_
@@ -123,4 +123,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(irq_softirq, softirq_raise,
 #endif /*  LTTNG_TRACE_IRQ_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 1195fea2192fd283abd4c94afaf9128be22729c9..e9aabd692cdbcc85d95f10fd3bbc6e9eaed56d8d 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_JBD_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_JBD_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/jbd.h>
 #include <linux/version.h>
 
@@ -154,4 +154,4 @@ LTTNG_TRACEPOINT_EVENT(jbd_update_superblock_end,
 #endif /* LTTNG_TRACE_JBD_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 3c5d3da0f08e4cd7cbe59b597c642539f11ac4a9..04968735c692db2d5a8ce414222a09ae3c8298a9 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_JBD2_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_JBD2_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/jbd2.h>
 #include <linux/version.h>
 
@@ -174,4 +174,4 @@ LTTNG_TRACEPOINT_EVENT(jbd2_write_superblock,
 #endif /* LTTNG_TRACE_JBD2_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 1b175ddb3b1467dfb55dc941d437977ebf8811f2..8f56cc5aea74251be6a34520ffa68c1b56e2603e 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_KMEM_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_KMEM_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/types.h>
 #include <linux/version.h>
 
@@ -335,4 +335,4 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc_extfrag,
 #endif /* LTTNG_TRACE_KMEM_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 894bf6a2ebade5fced596d0c00863d9aa0c646f5..b05482ee0c5afa497a9f186dda6d8552ff654743 100644 (file)
@@ -2,7 +2,7 @@
 #if !defined(LTTNG_TRACE_KVM_MAIN_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_KVM_MAIN_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/version.h>
 
 #undef TRACE_SYSTEM
@@ -271,4 +271,4 @@ LTTNG_TRACEPOINT_EVENT(
 #endif /* LTTNG_TRACE_KVM_MAIN_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index f384fd4ae5db6cfd4dc84e74a09616f1141557a1..af28517e82d3bce017c45abb75d9dbaaa982ede6 100644 (file)
@@ -7,7 +7,7 @@
 #define LTTNG_TRACE_LOCK_H
 
 #include <linux/lockdep.h>
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 
 #ifdef CONFIG_LOCKDEP
 
@@ -68,4 +68,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(lock, lock_acquired,
 #endif /* LTTNG_TRACE_LOCK_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index f8f10e7cab13d63547c4cbf764b16f9d040b4ccb..23fdd0e8094dbe3843ffeb3f5e9c46d796bc9270 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_LTTNG_STATEDUMP_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_LTTNG_STATEDUMP_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/nsproxy.h>
 #include <linux/cgroup.h>
 #include <linux/ipc_namespace.h>
@@ -268,4 +268,4 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_cpu_topology,
 #endif /*  LTTNG_TRACE_LTTNG_STATEDUMP_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index f9fb5a845585a62efb4d53b14d8020dc3579da8a..7d2b1f7c53f75deaa20b9ef7b29939215608bafb 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_LTTNG_TEST_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_LTTNG_TEST_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/types.h>
 #include <linux/version.h>
 
@@ -55,4 +55,4 @@ LTTNG_TRACEPOINT_EVENT(lttng_test_filter_event,
 #endif /*  LTTNG_TRACE_LTTNG_TEST_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 376fd5375a923f66369f707db937deca6d089786..91eb4608096fb1b02b2ffc4874c253ed7f421d14 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_LTTNG_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_LTTNG_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 
 LTTNG_TRACEPOINT_EVENT(lttng_logger,
        TP_PROTO(const char __user *text, size_t len),
@@ -18,4 +18,4 @@ LTTNG_TRACEPOINT_EVENT(lttng_logger,
 #endif /* LTTNG_TRACE_LTTNG_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index a02b24de4b03099d8d45feeb930c28579f905660..8bdd65d2a7a13e2b77a9377ec8e98c3206fc7b8d 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_MM_VMSCAN_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_MM_VMSCAN_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/types.h>
 #include <linux/mm.h>
 #include <linux/memcontrol.h>
@@ -822,4 +822,4 @@ LTTNG_TRACEPOINT_EVENT_MAP(update_swap_token_priority,
 #endif /* LTTNG_TRACE_MM_VMSCAN_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 1dae9ad1d4b6275a05752521a1bc2f641b626b43..5831650b6f987b2a10b58db0bcef52b36b22f5bd 100644 (file)
@@ -15,7 +15,7 @@
 #if !defined(LTTNG_TRACE_MODULE_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_MODULE_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/version.h>
 
 #ifdef CONFIG_MODULES
@@ -102,4 +102,4 @@ LTTNG_TRACEPOINT_EVENT(module_request,
 #endif /* LTTNG_TRACE_MODULE_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 8509f7d1eb43e2e08b1c97b149dc4e619298c3f8..8a32993f5e6afa5272039498136021e811d71c83 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_NAPI_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_NAPI_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/netdevice.h>
 #include <linux/ftrace.h>
 
@@ -48,4 +48,4 @@ LTTNG_TRACEPOINT_EVENT(napi_poll,
 #endif /* LTTNG_TRACE_NAPI_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 55aba4e0c99634d3b098957c0721f44cce4e6e0e..e42fb2ec18b53eb0b38e721e556361b9bacd63f0 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_NET_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_NET_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/skbuff.h>
 #include <linux/netdevice.h>
 #include <linux/ip.h>
@@ -868,4 +868,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_exit_template,
 #endif /* LTTNG_TRACE_NET_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 1f6c6e8a48839c3689910f4ac65bd270255ce7ae..dd03d60a1bdc2c98c082b1e1df94ba258fd559cd 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_POWER_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/ktime.h>
 #include <linux/version.h>
 
@@ -239,4 +239,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(power_domain, power_domain_target,
 #endif /* LTTNG_TRACE_POWER_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index d34f8d6b75779372e2f70976186c899219629107..36aa36cb73c6b26b1c178e9387d84361a326615f 100644 (file)
@@ -10,7 +10,7 @@
 #include <linux/ktime.h>
 #include <linux/string.h>
 #include <asm/sections.h>
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 
 /*
  * The preemptirq probe is built when CONFIG_PREEMPTIRQ_EVENTS is defined.
@@ -95,6 +95,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(preemptirq_template, preempt_enable,
 #endif /* LTTNG_TRACE_PREEMPTIRQ_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #endif /* CONFIG_PREEMPTIRQ_EVENTS */
index 444f299b78929e132913a91aa480cd13084827f2..75b4ee9239c66fd6f9465197ac238302821ea7e8 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_PRINTK_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_PRINTK_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/version.h>
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0))
@@ -73,4 +73,4 @@ LTTNG_TRACEPOINT_EVENT_MAP(console,
 #endif /* LTTNG_TRACE_PRINTK_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 621d5e72e99ba7a5f4320c9a9324c5b41774b82c..7cf0908ff4b75a28c7cee0e3a9b33372c0fde7b9 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_RANDOM_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_RANDOM_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/writeback.h>
 
 LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes,
@@ -129,4 +129,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy_use
 #endif /* LTTNG_TRACE_RANDOM_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 73b2262ca809693cf3194da5fb12010b77132458..9c7a6de1cd662270d01bdc7d4ae32b8b138737d5 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_RCU_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_RCU_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/version.h>
 
 /*
@@ -961,4 +961,4 @@ LTTNG_TRACEPOINT_EVENT(rcu_barrier,
 #endif /* LTTNG_TRACE_RCU_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index f8644816a4d3eb067ef36b062d8cee35c5260c5e..8af4d5aed533c376f0d420a156beb0101c28a2f6 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_REGMAP_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_REGMAP_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/ktime.h>
 #include <linux/version.h>
 
@@ -142,4 +142,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass,
 #endif /* LTTNG_TRACE_REGMAP_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 46ad50d20fd6be8c5cfffb4f3afafc278e70d9fc..bfdb6b65e5c5f32f3172b3cc623768f1cf720f29 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_REGULATOR_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_REGULATOR_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/ktime.h>
 
 /*
@@ -115,4 +115,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(regulator_value, regulator_set_voltage_complete,
 #endif /* _TRACE_POWER_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index c3c62ed1b776292048e6adf24f7c33107f5a86d9..90499aee6ae4830bdae27dcd044abc3fe0316b7f 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_RPC_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_RPC_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/sunrpc/sched.h>
 #include <linux/sunrpc/clnt.h>
 
@@ -363,4 +363,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
 
 #endif /* LTTNG_TRACE_RPC_H */
 
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 7aa44d795d162fbc6a111a88e914f81897b98d32..1e425f8eeb020228f4912293af1866551f91c1aa 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_RUNTIME_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_RUNTIME_POWER_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/ktime.h>
 
 #ifndef _TRACE_RPM_DEF_
@@ -70,4 +70,4 @@ LTTNG_TRACEPOINT_EVENT(rpm_return_int,
 #endif /* LTTNG_TRACE_RUNTIME_POWER_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 80f85ca4012cb57fa47482005b322a9518f21bbf..10da76c9c0aaae748094ad48ccffce2451eb2252 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_SCHED_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_SCHED_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/sched.h>
 #include <linux/pid_namespace.h>
 #include <linux/binfmts.h>
@@ -627,4 +627,4 @@ LTTNG_TRACEPOINT_EVENT(sched_pi_setprio,
 #endif /* LTTNG_TRACE_SCHED_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 2f26ccb8b7d6e1ae6fac9d68ef7afc967ace6cf9..21637bc111734f79315d29d036571b8af00c9958 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_SCSI_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_SCSI_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <scsi/scsi_cmnd.h>
 #include <scsi/scsi_host.h>
 #include <linux/trace_seq.h>
@@ -487,4 +487,4 @@ LTTNG_TRACEPOINT_EVENT(scsi_eh_wakeup,
 #endif /*  LTTNG_TRACE_SCSI_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 2b1fac823972ca15e748c8519d794dfad825d3b7..4a71d14b917aa83f86d67ef21146fd87228f2771 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_SIGNAL_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_SIGNAL_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/version.h>
 
 #ifndef _TRACE_SIGNAL_DEF
@@ -199,4 +199,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(signal_queue_overflow, signal_lose_info,
 #endif /* LTTNG_TRACE_SIGNAL_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index a9396f4508ab8fc47bde2bda26bccb144ee38f64..2be9d83fb4495d937eecd7d3352cdd7f636043e3 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_SKB_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_SKB_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/skbuff.h>
 #include <linux/netdevice.h>
 #include <linux/version.h>
@@ -56,4 +56,4 @@ LTTNG_TRACEPOINT_EVENT(skb_copy_datagram_iovec,
 #endif /* LTTNG_TRACE_SKB_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index dd34bb81a45f4b8e4690fccc25b71600a7b10bb3..955bc1a31b5da3a8dc4d0ad985ce4220941c5db8 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_SOCK_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_SOCK_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/version.h>
 #include <net/sock.h>
 
@@ -82,4 +82,4 @@ LTTNG_TRACEPOINT_EVENT(sock_exceed_buf_limit,
 #endif /* LTTNG_TRACE_SOCK_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 881553c553113b7a1a3820b72f911bbf0ae625a0..503c5bc2bf7656867698a4c82c732da6a777f3a7 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_TIMER_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_TIMER_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 
 #ifndef _TRACE_TIMER_DEF_
 #define _TRACE_TIMER_DEF_
@@ -394,4 +394,4 @@ LTTNG_TRACEPOINT_EVENT_MAP(itimer_expire,
 #endif /*  LTTNG_TRACE_TIMER_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 427fa006df0f47a0d0e690c99004a7e12450c514..b63a1bb5dcb3a0f0f4d25415e0a6ccc5f96af50a 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_UDP_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_UDP_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/udp.h>
 
 LTTNG_TRACEPOINT_EVENT(udp_fail_queue_rcv_skb,
@@ -23,4 +23,4 @@ LTTNG_TRACEPOINT_EVENT(udp_fail_queue_rcv_skb,
 #endif /* LTTNG_TRACE_UDP_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index de7e50605c9654a6ce8bc76c6f3e87507b445d31..dd7551e828428ce984b3ce63a155ca0af9213065 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_V4L2_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_V4L2_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
 LTTNG_TRACEPOINT_EVENT_CLASS(v4l2_class,
@@ -79,4 +79,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(v4l2_class,
 #endif /* if !defined(LTTNG_TRACE_V4L2_H) || defined(TRACE_HEADER_MULTI_READ) */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 138757bddea87f14d0461939270ec53534a71056..8ca0d6bf7a46ae3a43fc213726523d1c320e1b43 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_WORKQUEUE_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_WORKQUEUE_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/workqueue.h>
 #include <linux/version.h>
 
@@ -129,4 +129,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue_work, workqueue_execute_end,
 #endif /*  LTTNG_TRACE_WORKQUEUE_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 68d27d343ffba8cf5f2d35380571591a149ab0f2..fd898c511f51cb6660cb0e80c9c447d3868c9726 100644 (file)
@@ -5,7 +5,7 @@
 #if !defined(LTTNG_TRACE_WRITEBACK_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_WRITEBACK_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/tracepoint.h>
 #include <linux/backing-dev.h>
 #include <linux/writeback.h>
@@ -729,4 +729,4 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_single_inode_template, writeback_singl
 #endif /* LTTNG_TRACE_WRITEBACK_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 5d0e87094af02f43665680bd039cb791482da782..74fb4d8a18201f5fe18aa8b2c6821b8508dd2607 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_INTEGERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_INTEGERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "arm-32-syscalls_integers_override.h"
 #include "syscalls_integers_override.h"
@@ -826,7 +826,7 @@ SC_LTTNG_TRACEPOINT_EVENT(keyctl,
 #endif /*  _TRACE_SYSCALLS_INTEGERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index 094fa2ec34865e7ef9ec9085ceaf54dfdb9d850a..a5d18380fa0bd77498d95d83a29af3217f4ad3ef 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_POINTERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_POINTERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "arm-32-syscalls_pointers_override.h"
 #include "syscalls_pointers_override.h"
@@ -1355,7 +1355,7 @@ SC_LTTNG_TRACEPOINT_EVENT(process_vm_writev,
 #endif /*  _TRACE_SYSCALLS_POINTERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index 57d2c66b72ca3dff55c3c9d75065fed5b9a90c53..e9c15a9cb2818a62792f0af3d8a40831a9ce1c36 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_INTEGERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_INTEGERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "arm-64-syscalls_integers_override.h"
 #include "syscalls_integers_override.h"
@@ -693,7 +693,7 @@ SC_LTTNG_TRACEPOINT_EVENT(remap_file_pages,
 #endif /*  _TRACE_SYSCALLS_INTEGERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index f7ae855ff8b960169964b4eecfce297da5fe1a73..d6d301cc412a9f17d9e35bb41309d65568e4ea65 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_POINTERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_POINTERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "arm-64-syscalls_pointers_override.h"
 #include "syscalls_pointers_override.h"
@@ -1166,7 +1166,7 @@ SC_LTTNG_TRACEPOINT_EVENT(process_vm_writev,
 #endif /*  _TRACE_SYSCALLS_POINTERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index 69338a12e87917739a8309b16864d5cb7ef910c1..1daea752f32a41a62a87a3d06722d338da267fb5 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_INTEGERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_INTEGERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "mips-32-syscalls_integers_override.h"
 #include "syscalls_integers_override.h"
@@ -758,7 +758,7 @@ SC_LTTNG_TRACEPOINT_EVENT(mips_mmap2,
 #endif /*  _TRACE_SYSCALLS_INTEGERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index d638087b7b5da51deb6082d1ac13a74b5c5cf064..3ff5ad7f463f33169f9d094abd2669e811c9e9fc 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_POINTERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_POINTERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "mips-32-syscalls_pointers_override.h"
 #include "syscalls_pointers_override.h"
@@ -1327,7 +1327,7 @@ SC_LTTNG_TRACEPOINT_EVENT(epoll_pwait,
 #endif /*  _TRACE_SYSCALLS_POINTERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index 302a788deb8ff63b5647b29fb5c7874111a37382..855087f6d120134153dca4056b23943273a9c7eb 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_INTEGERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_INTEGERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "mips-64-syscalls_integers_override.h"
 #include "syscalls_integers_override.h"
@@ -796,7 +796,7 @@ SC_LTTNG_TRACEPOINT_EVENT(mips_mmap,
 #endif /*  _TRACE_SYSCALLS_INTEGERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index 8bcf9b006c40938c9087c60ae031f7974efc22a3..203da38e651f36cea697d4d59165f892a4d2dd3a 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_POINTERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_POINTERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "mips-64-syscalls_pointers_override.h"
 #include "syscalls_pointers_override.h"
@@ -1306,7 +1306,7 @@ SC_LTTNG_TRACEPOINT_EVENT(splice,
 #endif /*  _TRACE_SYSCALLS_POINTERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index a4ee13e921cceb3ee5c9c47bf6d173671ea7e684..2c8f40deb87e3a3ac37db9b530911669f428ceac 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_INTEGERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_INTEGERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "powerpc-32-syscalls_integers_override.h"
 #include "syscalls_integers_override.h"
@@ -726,7 +726,7 @@ SC_LTTNG_TRACEPOINT_EVENT(keyctl,
 #endif /*  _TRACE_SYSCALLS_INTEGERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index 73a28a79c4b1bf37b0dd4c929e64187721c55afe..d9cde3a80f3c465c0556f31b90016202d70d4123 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_POINTERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_POINTERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "powerpc-32-syscalls_pointers_override.h"
 #include "syscalls_pointers_override.h"
@@ -1355,7 +1355,7 @@ SC_LTTNG_TRACEPOINT_EVENT(recvfrom,
 #endif /*  _TRACE_SYSCALLS_POINTERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index 1718f5c01ed76ccba94266484484913dfa1eedbc..79939c80ca89a70ac0a80ddac8d8351e193782e6 100644 (file)
@@ -3,7 +3,7 @@
 #if !defined(_TRACE_SYSCALLS_UNKNOWN_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_UNKNOWN_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 
 #define UNKNOWN_SYSCALL_NRARGS 6
@@ -52,4 +52,4 @@ LTTNG_TRACEPOINT_EVENT(compat_syscall_exit_unknown,
 #endif /*  _TRACE_SYSCALLS_UNKNOWN_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
index 6e1fc8ec9db69d1e072f55f39b87a2965a5f87ae..ddc8b21ebfb9767a2698e007e59b54e1aa9b3f69 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_INTEGERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_INTEGERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "x86-32-syscalls_integers_override.h"
 #include "syscalls_integers_override.h"
@@ -822,7 +822,7 @@ SC_LTTNG_TRACEPOINT_EVENT(mmap_pgoff,
 #endif /*  _TRACE_SYSCALLS_INTEGERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index da15bfd1b49d216326eafaa065bfc6185eb1b24c..40ad713eb75fdbcebd85462375239f1911d538c7 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_POINTERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_POINTERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "x86-32-syscalls_pointers_override.h"
 #include "syscalls_pointers_override.h"
@@ -1306,7 +1306,7 @@ SC_LTTNG_TRACEPOINT_EVENT(epoll_pwait,
 #endif /*  _TRACE_SYSCALLS_POINTERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index c29639214058b44ace63a8b1bcb1cf65dd1fb160..d752c9070f2f06421fb2dec7e5d43b444c9a030f 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_INTEGERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_INTEGERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "x86-64-syscalls_integers_override.h"
 #include "syscalls_integers_override.h"
@@ -751,7 +751,7 @@ SC_LTTNG_TRACEPOINT_EVENT(mmap,
 #endif /*  _TRACE_SYSCALLS_INTEGERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index 0d084882a3162010b1cb25c39f4ab4800c38e19a..f04b33ad9faebb80182d861e6813d95e18122a10 100644 (file)
@@ -9,7 +9,7 @@
 #if !defined(_TRACE_SYSCALLS_POINTERS_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_POINTERS_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include "x86-64-syscalls_pointers_override.h"
 #include "syscalls_pointers_override.h"
@@ -1348,7 +1348,7 @@ SC_LTTNG_TRACEPOINT_EVENT(process_vm_writev,
 #endif /*  _TRACE_SYSCALLS_POINTERS_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
index 863f390edbea69294d323407c67eb5f03c91a223..df29abf71d7436c18ce38f441951349d7971c90e 100755 (executable)
@@ -81,7 +81,7 @@ echo "/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only) */
 #if !defined(_TRACE_SYSCALLS_${CLASSCAP}_H) || defined(TRACE_HEADER_MULTI_READ)
 #define _TRACE_SYSCALLS_${CLASSCAP}_H
 
-#include <probes/lttng-tracepoint-event.h>
+#include <lttng/tracepoint-event.h>
 #include <linux/syscalls.h>
 #include \"${INPUTFILE}_${CLASS}_override.h\"
 #include \"syscalls_${CLASS}_override.h\"
@@ -290,7 +290,7 @@ echo \
 #endif /*  _TRACE_SYSCALLS_${CLASSCAP}_H */
 
 /* This part must be outside protection */
-#include <probes/define_trace.h>
+#include <lttng/define_trace.h>
 
 #else /* CREATE_SYSCALL_TABLE */
 
diff --git a/probes/define_trace.h b/probes/define_trace.h
deleted file mode 100644 (file)
index f8f9d34..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
- *
- * define_trace.h
- *
- * Copyright (C) 2009 Steven Rostedt <rostedt@goodmis.org>
- * Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- */
-
-/*
- * Trace files that want to automate creationg of all tracepoints defined
- * in their file should include this file. The following are macros that the
- * trace file may define:
- *
- * TRACE_SYSTEM defines the system the tracepoint is for
- *
- * TRACE_INCLUDE_FILE if the file name is something other than TRACE_SYSTEM.h
- *     This macro may be defined to tell define_trace.h what file to include.
- *     Note, leave off the ".h".
- *
- * TRACE_INCLUDE_PATH if the path is something other than core kernel include/trace
- *     then this macro can define the path to use. Note, the path is relative to
- *     define_trace.h, not the file including it. Full path names for out of tree
- *     modules must be used.
- */
-
-#ifdef CREATE_TRACE_POINTS
-
-/* Prevent recursion */
-#undef CREATE_TRACE_POINTS
-
-#include <linux/stringify.h>
-
-#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
-
-#ifndef TRACE_INCLUDE_FILE
-# define TRACE_INCLUDE_FILE TRACE_SYSTEM
-# define UNDEF_TRACE_INCLUDE_FILE
-#endif
-
-#ifndef TRACE_INCLUDE_PATH
-# define __TRACE_INCLUDE(system) <trace/events/system.h>
-# define UNDEF_TRACE_INCLUDE_PATH
-#else
-# define __TRACE_INCLUDE(system) __stringify(TRACE_INCLUDE_PATH/system.h)
-#endif
-
-# define TRACE_INCLUDE(system) __TRACE_INCLUDE(system)
-
-/* Let the trace headers be reread */
-#define TRACE_HEADER_MULTI_READ
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-/* Make all open coded DECLARE_TRACE nops */
-#undef DECLARE_TRACE
-#define DECLARE_TRACE(name, proto, args)
-
-#ifdef LTTNG_PACKAGE_BUILD
-#include <probes/lttng-tracepoint-event-impl.h>
-#endif
-
-#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 */
-#ifdef UNDEF_TRACE_INCLUDE_FILE
-# undef TRACE_INCLUDE_FILE
-# undef UNDEF_TRACE_INCLUDE_FILE
-#endif
-
-#ifdef UNDEF_TRACE_INCLUDE_PATH
-# undef TRACE_INCLUDE_PATH
-# 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
-
-#endif /* CREATE_TRACE_POINTS */
diff --git a/probes/lttng-events-nowrite.h b/probes/lttng-events-nowrite.h
deleted file mode 100644 (file)
index 5f6b64c..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
- *
- * lttng-events-write.h
- *
- * Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- */
-
-#undef ctf_integer_nowrite
-#define ctf_integer_nowrite(_type, _item, _user_src)           \
-       _ctf_integer_ext(_type, _item, _user_src, __BYTE_ORDER, 10, 0, 1)
-
-#undef ctf_integer_hex_nowrite
-#define ctf_integer_hex_nowrite(_type, _item, _user_src)       \
-       _ctf_integer_ext(_type, _item, _user_src, __BYTE_ORDER, 16, 0, 1)
-
-#undef ctf_integer_oct_nowrite
-#define ctf_integer_oct_nowrite(_type, _item, _user_src)       \
-       _ctf_integer_ext(_type, _item, _user_src, __BYTE_ORDER, 8, 0, 1)
-
-#undef ctf_integer_network_nowrite
-#define ctf_integer_network_nowrite(_type, _item, _user_src)   \
-       _ctf_integer_ext(_type, _item, _user_src, __BIG_ENDIAN, 10, 0, 1)
-
-#undef ctf_integer_network_hex_nowrite
-#define ctf_integer_network_hex_nowrite(_type, _item, _user_src) \
-       _ctf_integer_ext(_type, _item, _user_src, __BIG_ENDIAN, 16, 0, 1)
-
-#undef ctf_array_nowrite
-#define ctf_array_nowrite(_type, _item, _src, _length)         \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BYTE_ORDER, 10, 0, 1)
-
-#undef ctf_array_network_nowrite
-#define ctf_array_network_nowrite(_type, _item, _src, _length) \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BIG_ENDIAN, 10, 0, 1)
-
-#undef ctf_array_text_nowrite
-#define ctf_array_text_nowrite(_type, _item, _src, _length)    \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, UTF8, __BYTE_ORDER, 10, 0, 1)
-
-#undef ctf_array_bitfield_nowrite
-#define ctf_array_bitfield_nowrite(_type, _item, _src, _length)        \
-       _ctf_array_bitfield(_type, _item, _src, _length, 0, 1)
-
-#undef ctf_sequence_nowrite
-#define ctf_sequence_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
-       _ctf_sequence_encoded(_type, _item, _user_src,          \
-                       _length_type, _user_src_length, none, __BYTE_ORDER, 10, 0, 1)
-
-#undef ctf_sequence_network_nowrite
-#define ctf_sequence_network_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
-       _ctf_sequence_encoded(_type, _item, _user_src,          \
-                       _length_type, _user_src_length, none, __BIG_ENDIAN, 10, 0, 1)
-
-#undef ctf_sequence_text_nowrite
-#define ctf_sequence_text_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
-       _ctf_sequence_encoded(_type, _item, _user_src,          \
-                       _length_type, _user_src_length, UTF8, __BYTE_ORDER, 10, 0, 1)
-
-#undef ctf_sequence_bitfield_nowrite
-#define ctf_sequence_bitfield_nowrite(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_bitfield(_type, _item, _src,              \
-                       _length_type, _src_length, 0, 1)
-
-#undef ctf_string_nowrite
-#define ctf_string_nowrite(_item, _user_src)                   \
-       _ctf_string(_item, _user_src, 0, 1)
-
-#undef ctf_enum_nowrite
-#define ctf_enum_nowrite(_name, _type, _item, _src)            \
-       _ctf_enum(_name, _type, _item, _src, 0, 1)
-
-/* user src */
-#undef ctf_user_integer_nowrite
-#define ctf_user_integer_nowrite(_type, _item, _user_src)      \
-       _ctf_integer_ext(_type, _item, _user_src, __BYTE_ORDER, 10, 1, 1)
-
-#undef ctf_user_integer_hex_nowrite
-#define ctf_user_integer_hex_nowrite(_type, _item, _user_src)  \
-       _ctf_integer_ext(_type, _item, _user_src, __BYTE_ORDER, 16, 1, 1)
-
-#undef ctf_user_integer_network_nowrite
-#define ctf_user_integer_network_nowrite(_type, _item, _user_src) \
-       _ctf_integer_ext(_type, _item, _user_src, __BIG_ENDIAN, 10, 1, 1)
-
-#undef ctf_user_integer_network_hex_nowrite
-#define ctf_user_integer_network_hex_nowrite(_type, _item, _user_src) \
-       _ctf_integer_ext(_type, _item, _user_src, __BIG_ENDIAN, 16, 1, 1)
-
-#undef ctf_user_array_nowrite
-#define ctf_user_array_nowrite(_type, _item, _src, _length)    \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BYTE_ORDER, 10, 1, 1)
-
-#undef ctf_user_array_network_nowrite
-#define ctf_user_array_network_nowrite(_type, _item, _src, _length) \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BIG_ENDIAN, 10, 1, 1)
-
-#undef ctf_user_array_text_nowrite
-#define ctf_user_array_text_nowrite(_type, _item, _src, _length) \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, UTF8, __BYTE_ORDER, 10, 1, 1)
-
-#undef ctf_user_array_bitfield_nowrite
-#define ctf_user_array_bitfield_nowrite(_type, _item, _src, _length)   \
-       _ctf_array_bitfield(_type, _item, _src, _length, 1, 1)
-
-#undef ctf_user_sequence_nowrite
-#define ctf_user_sequence_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
-       _ctf_sequence_encoded(_type, _item, _user_src,          \
-                       _length_type, _user_src_length, none, __BYTE_ORDER, 10, 1, 1)
-
-#undef ctf_user_sequence_network_nowrite
-#define ctf_user_sequence_network_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
-       _ctf_sequence_encoded(_type, _item, _user_src,          \
-                       _length_type, _user_src_length, none, __BIG_ENDIAN, 10, 1, 1)
-
-#undef ctf_user_sequence_text_nowrite
-#define ctf_user_sequence_text_nowrite(_type, _item, _user_src, _length_type, _user_src_length) \
-       _ctf_sequence_encoded(_type, _item, _user_src,          \
-                       _length_type, _user_src_length, UTF8, __BYTE_ORDER, 10, 1, 1)
-
-#undef ctf_user_sequence_bitfield_nowrite
-#define ctf_user_sequence_bitfield_nowrite(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_bitfield(_type, _item, _src,              \
-                       _length_type, _src_length, 1, 1)
-
-#undef ctf_user_string_nowrite
-#define ctf_user_string_nowrite(_item, _user_src)              \
-       _ctf_string(_item, _user_src, 1, 1)
-
-#undef ctf_user_enum_nowrite
-#define ctf_user_enum_nowrite(_name, _type, _item, _src)       \
-       _ctf_enum(_name, _type, _item, _src, 1, 1)
diff --git a/probes/lttng-events-reset.h b/probes/lttng-events-reset.h
deleted file mode 100644 (file)
index 91ddab4..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
- *
- * lttng-events-reset.h
- *
- * Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- */
-
-/* Reset macros used within LTTNG_TRACEPOINT_EVENT to "nothing" */
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post)
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post)
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args)
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map)
-
-#undef LTTNG_TRACEPOINT_ENUM
-#define LTTNG_TRACEPOINT_ENUM(_name, _values)
-
-#undef TP_PROTO
-#define TP_PROTO(args...)
-
-#undef TP_ARGS
-#define TP_ARGS(args...)
-
-#undef TP_locvar
-#define TP_locvar(...)
-
-#undef TP_code_pre
-#define TP_code_pre(...)
-
-#undef TP_code_post
-#define TP_code_post(...)
-
-#undef TP_FIELDS
-#define TP_FIELDS(args...)
-
-#undef _ctf_integer_ext
-#define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, \
-                       _user, _nowrite)
-
-#undef _ctf_integer_ext_isuser0
-#define _ctf_integer_ext_isuser0(_type, _item, _src, _byte_order, _base, \
-                       _nowrite)
-
-#undef _ctf_integer_ext_isuser1
-#define _ctf_integer_ext_isuser1(_type, _item, _src, _byte_order, _base, \
-                       _nowrite)
-
-#undef _ctf_integer_ext_fetched
-#define _ctf_integer_ext_fetched(_type, _item, _src, _byte_order, _base, \
-                       _nowrite)
-
-#undef _ctf_array_encoded
-#define _ctf_array_encoded(_type, _item, _src, _length, _encoding, \
-                       _byte_order, _base, _user, _nowrite)
-
-#undef _ctf_array_bitfield
-#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite)
-
-#undef _ctf_sequence_encoded
-#define _ctf_sequence_encoded(_type, _item, _src, _length_type, \
-                       _src_length, _encoding, _byte_order, _base, _user, _nowrite)
-
-#undef _ctf_sequence_bitfield
-#define _ctf_sequence_bitfield(_type, _item, _src, _length_type, \
-                       _src_length, _byte_order, _user, _nowrite)
-
-#undef _ctf_string
-#define _ctf_string(_item, _src, _user, _nowrite)
-
-#undef _ctf_enum
-#define _ctf_enum(_name, _type, _item, _src, _nowrite)
-
-/* "write" */
-#undef ctf_integer
-#define ctf_integer(_type, _item, _src)
-
-#undef ctf_integer_hex
-#define ctf_integer_hex(_type, _item, _src)
-
-#undef ctf_integer_oct
-#define ctf_integer_oct(_type, _item, _src)
-
-#undef ctf_integer_network
-#define ctf_integer_network(_type, _item, _src)
-
-#undef ctf_integer_network_hex
-#define ctf_integer_network_hex(_type, _item, _src)
-
-#undef ctf_float
-#define ctf_float(_type, _item, _src)
-
-#undef ctf_array
-#define ctf_array(_type, _item, _src, _length)
-
-#undef ctf_array_hex
-#define ctf_array_hex(_type, _item, _src, _length)
-
-#undef ctf_array_network
-#define ctf_array_network(_type, _item, _src, _length)
-
-#undef ctf_array_network_hex
-#define ctf_array_network_hex(_type, _item, _src, _length)
-
-#undef ctf_array_text
-#define ctf_array_text(_type, _item, _src, _length)
-
-#undef ctf_array_bitfield
-#define ctf_array_bitfield(_type, _item, _src, _length)
-
-#undef ctf_sequence
-#define ctf_sequence(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_sequence_hex
-#define ctf_sequence_hex(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_sequence_network
-#define ctf_sequence_network(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_sequence_network_hex
-#define ctf_sequence_network_hex(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_sequence_text
-#define ctf_sequence_text(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_sequence_bitfield
-#define ctf_sequence_bitfield(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_string
-#define ctf_string(_item, _src)
-
-#undef ctf_enum
-#define ctf_enum(_name, _type, _item, _src)
-
-#undef ctf_custom_field
-#define ctf_custom_field(_type, _item, _code)
-
-#undef ctf_custom_type
-#define ctf_custom_type(...)
-
-#undef ctf_custom_code
-#define ctf_custom_code(...)
-
-#undef ctf_align
-#define ctf_align(_type)
-
-/* "nowrite" */
-#undef ctf_integer_nowrite
-#define ctf_integer_nowrite(_type, _item, _src)
-
-#undef ctf_float_nowrite
-#define ctf_float_nowrite(_type, _item, _src)
-
-#undef ctf_array_nowrite
-#define ctf_array_nowrite(_type, _item, _src, _length)
-
-#undef ctf_array_network_nowrite
-#define ctf_array_network_nowrite(_type, _item, _src, _length)
-
-#undef ctf_array_text_nowrite
-#define ctf_array_text_nowrite(_type, _item, _src, _length)
-
-#undef ctf_array_bitfield_nowrite
-#define ctf_array_bitfield_nowrite(_type, _item, _src, _length)
-
-#undef ctf_sequence_nowrite
-#define ctf_sequence_nowrite(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_sequence_network_nowrite
-#define ctf_sequence_network_nowrite(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_sequence_text_nowrite
-#define ctf_sequence_text_nowrite(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_sequence_bitfield_nowrite
-#define ctf_sequence_bitfield_nowrite(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_string_nowrite
-#define ctf_string_nowrite(_item, _src)
-
-#undef ctf_enum_nowrite
-#define ctf_enum_nowrite(_name, _type, _item, _src)
-
-/* "user" - "write" */
-#undef ctf_user_integer
-#define ctf_user_integer(_type, _item, _user_src)
-
-#undef ctf_user_integer_hex
-#define ctf_user_integer_hex(_type, _item, _user_src)
-
-#undef ctf_user_integer_network
-#define ctf_user_integer_network(_type, _item, _user_src)
-
-#undef ctf_user_integer_network_hex
-#define ctf_user_integer_network_hex(_type, _item, _user_src)
-
-#undef ctf_user_float
-#define ctf_user_float(_type, _item, _user_src)
-
-#undef ctf_user_array
-#define ctf_user_array(_type, _item, _user_src, _length)
-
-#undef ctf_user_array_hex
-#define ctf_user_array_hex(_type, _item, _user_src, _length)
-
-#undef ctf_user_array_network
-#define ctf_user_array_network(_type, _item, _user_src, _length)
-
-#undef ctf_user_array_network_hex
-#define ctf_user_array_network_hex(_type, _item, _user_src, _length)
-
-#undef ctf_user_array_text
-#define ctf_user_array_text(_type, _item, _user_src, _length)
-
-#undef ctf_user_array_bitfield
-#define ctf_user_array_bitfield(_type, _item, _src, _length)
-
-#undef ctf_user_sequence
-#define ctf_user_sequence(_type, _item, _user_src, _length_type, _user_src_length)
-
-#undef ctf_user_sequence_hex
-#define ctf_user_sequence_hex(_type, _item, _user_src, _length_type, _user_src_length)
-
-#undef ctf_user_sequence_network
-#define ctf_user_sequence_network(_type, _item, _user_src, _length_type, _user_src_length)
-
-#undef ctf_user_sequence_network_hex
-#define ctf_user_sequence_network_hex(_type, _item, _user_src, _length_type, _user_src_length)
-
-#undef ctf_user_sequence_text
-#define ctf_user_sequence_text(_type, _item, _user_src, _length_type, _user_src_length)
-
-#undef ctf_user_sequence_bitfield
-#define ctf_user_sequence_bitfield(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_user_string
-#define ctf_user_string(_item, _user_src)
-
-#undef ctf_user_enum
-#define ctf_user_enum(_name, _type, _item, _src)
-
-/* "user" - "nowrite" */
-#undef ctf_user_integer_nowrite
-#define ctf_user_integer_nowrite(_type, _item, _user_src)
-
-#undef ctf_user_float_nowrite
-#define ctf_user_float_nowrite(_type, _item, _user_src)
-
-#undef ctf_user_array_nowrite
-#define ctf_user_array_nowrite(_type, _item, _user_src, _length)
-
-#undef ctf_user_array_network_nowrite
-#define ctf_user_array_network_nowrite(_type, _item, _user_src, _length)
-
-#undef ctf_user_array_text_nowrite
-#define ctf_user_array_text_nowrite(_type, _item, _user_src, _length)
-
-#undef ctf_user_array_bitfield_nowrite
-#define ctf_user_array_bitfield_nowrite(_type, _item, _src, _length)
-
-#undef ctf_user_sequence_nowrite
-#define ctf_user_sequence_nowrite(_type, _item, _user_src, _length_type, _user_src_length)
-
-#undef ctf_user_sequence_network_nowrite
-#define ctf_user_sequence_network_nowrite(_type, _item, _user_src, _length_type, _user_src_length)
-
-#undef ctf_user_sequence_text_nowrite
-#define ctf_user_sequence_text_nowrite(_type, _item, _user_src, _length_type, _user_src_length)
-
-#undef ctf_user_sequence_bitfield_nowrite
-#define ctf_user_sequence_bitfield_nowrite(_type, _item, _src, _length_type, _src_length)
-
-#undef ctf_user_string_nowrite
-#define ctf_user_string_nowrite(_item, _user_src)
-
-#undef ctf_user_enum_nowrite
-#define ctf_user_enum_nowrite(_name, _type, _item, _src)
diff --git a/probes/lttng-events-write.h b/probes/lttng-events-write.h
deleted file mode 100644 (file)
index c0732a5..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
- *
- * lttng-events-write.h
- *
- * Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- */
-
-#undef ctf_integer
-#define ctf_integer(_type, _item, _src)                                \
-       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, 0, 0)
-
-#undef ctf_integer_bitfield
-#define ctf_integer_bitfield(_type, _item, _src)                       \
-       _ctf_integer_ext(_type, _item, _src, __LITTLE_ENDIAN, 10, 0, 0)
-
-#undef ctf_integer_hex
-#define ctf_integer_hex(_type, _item, _src)                    \
-       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 16, 0, 0)
-
-#undef ctf_integer_oct
-#define ctf_integer_oct(_type, _item, _src)                    \
-       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 8, 0, 0)
-
-#undef ctf_integer_network
-#define ctf_integer_network(_type, _item, _src)                        \
-       _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 10, 0, 0)
-
-#undef ctf_integer_network_hex
-#define ctf_integer_network_hex(_type, _item, _src)            \
-       _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 16, 0, 0)
-
-#undef ctf_array
-#define ctf_array(_type, _item, _src, _length)                 \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BYTE_ORDER, 10, 0, 0)
-
-#undef ctf_array_hex
-#define ctf_array_hex(_type, _item, _src, _length)             \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BYTE_ORDER, 16, 0, 0)
-
-#undef ctf_array_network
-#define ctf_array_network(_type, _item, _src, _length)         \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BIG_ENDIAN, 10, 0, 0)
-
-#undef ctf_array_network_hex
-#define ctf_array_network_hex(_type, _item, _src, _length)     \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BIG_ENDIAN, 16, 0, 0)
-
-#undef ctf_array_text
-#define ctf_array_text(_type, _item, _src, _length)            \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, UTF8, __BYTE_ORDER, 10, 0, 0)
-
-#undef ctf_array_bitfield
-#define ctf_array_bitfield(_type, _item, _src, _length)                \
-       _ctf_array_bitfield(_type, _item, _src, _length, 0, 0)
-
-#undef ctf_sequence
-#define ctf_sequence(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_encoded(_type, _item, _src,               \
-                       _length_type, _src_length, none, __BYTE_ORDER, 10, 0, 0)
-
-#undef ctf_sequence_hex
-#define ctf_sequence_hex(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_encoded(_type, _item, _src,               \
-                       _length_type, _src_length, none, __BYTE_ORDER, 16, 0, 0)
-
-#undef ctf_sequence_network
-#define ctf_sequence_network(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_encoded(_type, _item, _src,               \
-                       _length_type, _src_length, none, __BIG_ENDIAN, 10, 0, 0)
-
-#undef ctf_sequence_network_hex
-#define ctf_sequence_network_hex(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_encoded(_type, _item, _src,               \
-                       _length_type, _src_length, none, __BIG_ENDIAN, 16, 0, 0)
-
-#undef ctf_sequence_text
-#define ctf_sequence_text(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_encoded(_type, _item, _src,               \
-                       _length_type, _src_length, UTF8, __BYTE_ORDER, 10, 0, 0)
-
-#undef ctf_sequence_bitfield
-#define ctf_sequence_bitfield(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_bitfield(_type, _item, _src,              \
-                       _length_type, _src_length, 0, 0)
-
-#undef ctf_string
-#define ctf_string(_item, _src)                                        \
-       _ctf_string(_item, _src, 0, 0)
-
-#undef ctf_enum
-#define ctf_enum(_name, _type, _item, _src)                    \
-       _ctf_enum(_name, _type, _item, _src, 0, 0)
-
-/* user src */
-#undef ctf_user_integer
-#define ctf_user_integer(_type, _item, _src)                           \
-       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, 1, 0)
-
-#undef ctf_user_integer_hex
-#define ctf_user_integer_hex(_type, _item, _src)                       \
-       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 16, 1, 0)
-
-#undef ctf_user_integer_network
-#define ctf_user_integer_network(_type, _item, _src)                   \
-       _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 10, 1, 0)
-
-#undef ctf_user_integer_network_hex
-#define ctf_user_integer_network_hex(_type, _item, _src)               \
-       _ctf_integer_ext(_type, _item, _src, __BIG_ENDIAN, 16, 1, 0)
-
-#undef ctf_user_array
-#define ctf_user_array(_type, _item, _src, _length)            \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BYTE_ORDER, 10, 1, 0)
-
-#undef ctf_user_array_hex
-#define ctf_user_array_hex(_type, _item, _src, _length)                \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BYTE_ORDER, 16, 1, 0)
-
-#undef ctf_user_array_network
-#define ctf_user_array_network(_type, _item, _src, _length)    \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BIG_ENDIAN, 10, 1, 0)
-
-#undef ctf_user_array_network_hex
-#define ctf_user_array_network_hex(_type, _item, _src, _length)        \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, none, __BIG_ENDIAN, 16, 1, 0)
-
-#undef ctf_user_array_text
-#define ctf_user_array_text(_type, _item, _src, _length)       \
-       _ctf_array_encoded(_type, _item, _src,                  \
-                       _length, UTF8, __BYTE_ORDER, 10, 1, 0)
-
-#undef ctf_user_array_bitfield
-#define ctf_user_array_bitfield(_type, _item, _src, _length)   \
-       _ctf_array_bitfield(_type, _item, _src, _length, 1, 0)
-
-#undef ctf_user_sequence
-#define ctf_user_sequence(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_encoded(_type, _item, _src,               \
-                       _length_type, _src_length, none, __BYTE_ORDER, 10, 1, 0)
-
-#undef ctf_user_sequence_hex
-#define ctf_user_sequence_hex(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_encoded(_type, _item, _src,               \
-                       _length_type, _src_length, none, __BYTE_ORDER, 16, 1, 0)
-
-#undef ctf_user_sequence_network
-#define ctf_user_sequence_network(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_encoded(_type, _item, _src,               \
-                       _length_type, _src_length, none, __BIG_ENDIAN, 10, 1, 0)
-
-#undef ctf_user_sequence_network_hex
-#define ctf_user_sequence_network_hex(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_encoded(_type, _item, _src,               \
-                       _length_type, _src_length, none, __BIG_ENDIAN, 16, 1, 0)
-
-#undef ctf_user_sequence_text
-#define ctf_user_sequence_text(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_encoded(_type, _item, _src,               \
-                       _length_type, _src_length, UTF8, __BYTE_ORDER, 10, 1, 0)
-
-#undef ctf_user_sequence_bitfield
-#define ctf_user_sequence_bitfield(_type, _item, _src, _length_type, _src_length) \
-       _ctf_sequence_bitfield(_type, _item, _src,              \
-                       _length_type, _src_length, 1, 0)
-
-#undef ctf_user_string
-#define ctf_user_string(_item, _src)                                   \
-       _ctf_string(_item, _src, 1, 0)
-
-#undef ctf_user_enum
-#define ctf_user_enum(_name, _type, _item, _src)                       \
-       _ctf_enum(_name, _type, _item, _src, 1, 0)
-
-/* types */
-#undef ctf_integer_type
-#define ctf_integer_type(_type, _src)                                  \
-       ctf_integer(_type, unused, _src)
-
-#undef ctf_integer_bitfield_type
-#define ctf_integer_bitfield_type(_type, _src)                         \
-       ctf_integer_bitfield(_type, unused, _src)
-
-#undef ctf_integer_hex_type
-#define ctf_integer_hex_type(_type, _src)                              \
-       ctf_integer_hex(_type, unused, _src)
-
-#undef ctf_integer_oct_type
-#define ctf_integer_oct_type(_type, _item, _src)                       \
-       ctf_integer_oct(_type, unused, _src)
-
-#undef ctf_integer_network_type
-#define ctf_integer_network_type(_type, _src)                          \
-       ctf_integer_network(_type, unused, _src)
-
-#undef ctf_integer_network_hex_type
-#define ctf_integer_network_hex_type(_type, _src)                      \
-       ctf_integer_network_hex(_type, unused, _src)
-
-#undef ctf_array_type
-#define ctf_array_type(_type, _src, _length)                           \
-       ctf_array(_type, unused, _src, _length)
-
-#undef ctf_array_hex_type
-#define ctf_array_hex_type(_type, _src, _length)                       \
-       ctf_array_hex(_type, unused, _src, _length)
-
-#undef ctf_array_network_type
-#define ctf_array_network_type(_type, _src, _length)                   \
-       ctf_array_network(_type, unused, _src, _length)
-
-#undef ctf_array_network_hex_type
-#define ctf_array_network_hex_type(_type, _src, _length)               \
-       ctf_array_network_hex(_type, unused, _src, _length)
-
-#undef ctf_array_text_type
-#define ctf_array_text_type(_type, _src, _length)                      \
-       ctf_array_text(_type, unused, _src, _length)
-
-#undef ctf_array_bitfield_type
-#define ctf_array_bitfield_type(_type, _src, _length)                  \
-       ctf_array_bitfield(_type, unused, _src, _length)
-
-#undef ctf_sequence_type
-#define ctf_sequence_type(_type, _src, _length_type, _src_length) \
-       ctf_sequence(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_sequence_hex_type
-#define ctf_sequence_hex_type(_type, _src, _length_type, _src_length) \
-       ctf_sequence_hex(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_sequence_network_type
-#define ctf_sequence_network_type(_type, _src, _length_type, _src_length) \
-       ctf_sequence_network(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_sequence_network_hex_type
-#define ctf_sequence_network_hex_type(_type, _src, _length_type, _src_length) \
-       ctf_sequence_network_hex(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_sequence_text_type
-#define ctf_sequence_text_type(_type, _src, _length_type, _src_length) \
-       ctf_sequence_text(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_sequence_bitfield_type
-#define ctf_sequence_bitfield_type(_type, _src, _length_type, _src_length) \
-       ctf_sequence_bitfield(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_string_type
-#define ctf_string_type(_src)                                          \
-       ctf_string(unused, _src)
-
-#undef ctf_enum_type
-#define ctf_enum_type(_name, _type, _src)                              \
-       ctf_enum(_name, _type, unused, _src)
-
-/* user src types */
-#undef ctf_user_integer_type
-#define ctf_user_integer_type(_type, _src)                             \
-       ctf_user_integer(_type, unused, _src)
-
-#undef ctf_user_integer_hex_type
-#define ctf_user_integer_hex_type(_type, _src)                         \
-       ctf_user_integer_hex(_type, unused, _src)
-
-#undef ctf_user_integer_oct_type
-#define ctf_user_integer_oct_type(_type, _item, _src)                  \
-       ctf_user_integer_oct(_type, unused, _src)
-
-#undef ctf_user_integer_network_type
-#define ctf_user_integer_network_type(_type, _src)                     \
-       ctf_user_integer_network(_type, unused, _src)
-
-#undef ctf_user_integer_network_hex_type
-#define ctf_user_integer_network_hex_type(_type, _src)                 \
-       ctf_user_integer_network_hex(_type, unused, _src)
-
-#undef ctf_user_array_type
-#define ctf_user_array_type(_type, _src, _length)                      \
-       ctf_user_array(_type, unused, _src, _length)
-
-#undef ctf_user_array_hex_type
-#define ctf_user_array_hex_type(_type, _src, _length)                  \
-       ctf_user_array_hex(_type, unused, _src, _length)
-
-#undef ctf_user_array_network_type
-#define ctf_user_array_network_type(_type, _src, _length)              \
-       ctf_user_array_network(_type, unused, _src, _length)
-
-#undef ctf_user_array_network_hex_type
-#define ctf_user_array_network_hex_type(_type, _src, _length)          \
-       ctf_user_array_network_hex(_type, unused, _src, _length)
-
-#undef ctf_user_array_text_type
-#define ctf_user_array_text_type(_type, _src, _length)                 \
-       ctf_user_array_text(_type, unused, _src, _length)
-
-#undef ctf_user_array_bitfield_type
-#define ctf_user_array_bitfield_type(_type, _src, _length)             \
-       ctf_user_array_bitfield(_type, unused, _src, _length)
-
-#undef ctf_user_sequence_type
-#define ctf_user_sequence_type(_type, _src, _length_type, _src_length) \
-       ctf_user_sequence(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_user_sequence_hex_type
-#define ctf_user_sequence_hex_type(_type, _src, _length_type, _src_length) \
-       ctf_user_sequence_hex(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_user_sequence_network_type
-#define ctf_user_sequence_network_type(_type, _src, _length_type, _src_length) \
-       ctf_user_sequence_network(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_user_sequence_network_hex_type
-#define ctf_user_sequence_network_hex_type(_type, _src, _length_type, _src_length) \
-       ctf_user_sequence_network_hex(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_user_sequence_text_type
-#define ctf_user_sequence_text_type(_type, _src, _length_type, _src_length) \
-       ctf_user_sequence_text(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_user_sequence_bitfield_type
-#define ctf_user_sequence_bitfield_type(_type, _src, _length_type, _src_length) \
-       ctf_user_sequence_bitfield(_type, unused, _src, _length_type, _src_length)
-
-#undef ctf_user_string_type
-#define ctf_user_string_type(_src)                                     \
-       ctf_user_string(unused, _src)
-
-#undef ctf_user_enum_type
-#define ctf_user_enum_type(_name, _type, _src)                         \
-       ctf_user_enum(_name, _type, unused, _src)
index b777c40dfeb0ff23b95f7fb50a7769b366a0b4c6..009cfed004c65d124229301365df8582f896db53 100644 (file)
@@ -8,7 +8,7 @@
 #include <linux/uaccess.h>
 #include <linux/module.h>
 #include <wrapper/uaccess.h>
-#include <probes/lttng-probe-user.h>
+#include <lttng/probe-user.h>
 
 /*
  * Calculate string length. Include final null terminating character if there is
diff --git a/probes/lttng-probe-user.h b/probes/lttng-probe-user.h
deleted file mode 100644 (file)
index d85bb6f..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
- *
- * lttng-probe-user.h
- *
- * Copyright (C) 2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- */
-
-#ifndef _LTTNG_PROBE_USER_H
-#define _LTTNG_PROBE_USER_H
-
-/*
- * Calculate string length. Include final null terminating character if there is
- * one, or ends at first fault.
- */
-long lttng_strlen_user_inatomic(const char *addr);
-
-#endif /* _LTTNG_PROBE_USER_H */
diff --git a/probes/lttng-tracepoint-event-impl.h b/probes/lttng-tracepoint-event-impl.h
deleted file mode 100644 (file)
index 5dee7fb..0000000
+++ /dev/null
@@ -1,1439 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
- *
- * lttng-tracepoint-event-impl.h
- *
- * Copyright (C) 2009 Steven Rostedt <rostedt@goodmis.org>
- * Copyright (C) 2009-2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- */
-
-#include <linux/uaccess.h>
-#include <linux/debugfs.h>
-#include <linux/rculist.h>
-#include <asm/byteorder.h>
-#include <linux/swab.h>
-
-#include <probes/lttng.h>
-#include <probes/lttng-types.h>
-#include <probes/lttng-probe-user.h>
-#include <wrapper/vmalloc.h>   /* for wrapper_vmalloc_sync_mappings() */
-#include <ringbuffer/frontend_types.h>
-#include <ringbuffer/backend.h>
-#include <wrapper/rcu.h>
-#include <wrapper/user_namespace.h>
-#include <lttng-events.h>
-#include <lttng-tracer-core.h>
-#include <lttng-tp-mempool.h>
-
-#define __LTTNG_NULL_STRING    "(null)"
-
-/*
- * Macro declarations used for all stages.
- */
-
-/*
- * LTTng name mapping macros. LTTng remaps some of the kernel events to
- * enforce name-spacing.
- */
-#undef LTTNG_TRACEPOINT_EVENT_MAP
-#define LTTNG_TRACEPOINT_EVENT_MAP(name, map, proto, args, fields) \
-       LTTNG_TRACEPOINT_EVENT_CLASS(map,                               \
-                            PARAMS(proto),                             \
-                            PARAMS(args),                              \
-                            PARAMS(fields))                            \
-       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
-
-#undef LTTNG_TRACEPOINT_EVENT_MAP_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_MAP_NOARGS(name, map, fields)           \
-       LTTNG_TRACEPOINT_EVENT_CLASS_NOARGS(map,                        \
-                            PARAMS(fields))                            \
-       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(map, name, map)
-
-#undef LTTNG_TRACEPOINT_EVENT_CODE_MAP
-#define LTTNG_TRACEPOINT_EVENT_CODE_MAP(name, map, proto, args, _locvar, _code_pre, fields, _code_post) \
-       LTTNG_TRACEPOINT_EVENT_CLASS_CODE(map,                          \
-                            PARAMS(proto),                             \
-                            PARAMS(args),                              \
-                            PARAMS(_locvar),                           \
-                            PARAMS(_code_pre),                         \
-                            PARAMS(fields),                            \
-                            PARAMS(_code_post))                        \
-       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
-
-#undef LTTNG_TRACEPOINT_EVENT_CODE
-#define LTTNG_TRACEPOINT_EVENT_CODE(name, proto, args, _locvar, _code_pre, fields, _code_post) \
-       LTTNG_TRACEPOINT_EVENT_CODE_MAP(name, name,                     \
-                            PARAMS(proto),                             \
-                            PARAMS(args),                              \
-                            PARAMS(_locvar),                           \
-                            PARAMS(_code_pre),                         \
-                            PARAMS(fields),                            \
-                            PARAMS(_code_post))
-
-/*
- * LTTNG_TRACEPOINT_EVENT_CLASS can be used to add a generic function
- * handlers for events. That is, if all events have the same parameters
- * and just have distinct trace points.  Each tracepoint can be defined
- * with LTTNG_TRACEPOINT_EVENT_INSTANCE and that will map the
- * LTTNG_TRACEPOINT_EVENT_CLASS to the tracepoint.
- *
- * LTTNG_TRACEPOINT_EVENT is a one to one mapping between tracepoint and
- * template.
- */
-
-#undef LTTNG_TRACEPOINT_EVENT
-#define LTTNG_TRACEPOINT_EVENT(name, proto, args, fields)              \
-       LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
-                       PARAMS(proto),                                  \
-                       PARAMS(args),                                   \
-                       PARAMS(fields))
-
-#undef LTTNG_TRACEPOINT_EVENT_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_NOARGS(name, fields)                    \
-       LTTNG_TRACEPOINT_EVENT_MAP_NOARGS(name, name, PARAMS(fields))
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE(template, name, proto, args)   \
-       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(template, name, name, PARAMS(proto), PARAMS(args))
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS(template, name) \
-       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(template, name, name)
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS
-#define LTTNG_TRACEPOINT_EVENT_CLASS(_name, _proto, _args, _fields) \
-       LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, PARAMS(_proto), PARAMS(_args), , , \
-               PARAMS(_fields), )
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_CLASS_NOARGS(_name, _fields) \
-       LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, , , PARAMS(_fields), )
-
-
-/*
- * Stage 1 of the trace events.
- *
- * Create dummy trace calls for each events, verifying that the LTTng module
- * instrumentation headers match the kernel arguments. Will be optimized
- * out by the compiler.
- */
-
-/* Reset all macros within TRACEPOINT_EVENT */
-#include <probes/lttng-events-reset.h>
-
-#undef TP_PROTO
-#define TP_PROTO(...)  __VA_ARGS__
-
-#undef TP_ARGS
-#define TP_ARGS(...)   __VA_ARGS__
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args) \
-void trace_##_name(_proto);
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map) \
-void trace_##_name(void);
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-/*
- * Stage 1.1 of the trace events.
- *
- * Create dummy trace prototypes for each event class, and for each used
- * template. This will allow checking whether the prototypes from the
- * class and the instance using the class actually match.
- */
-
-#include <probes/lttng-events-reset.h> /* Reset all macros within TRACE_EVENT */
-
-#undef TP_PROTO
-#define TP_PROTO(...)  __VA_ARGS__
-
-#undef TP_ARGS
-#define TP_ARGS(...)   __VA_ARGS__
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args) \
-void __event_template_proto___##_template(_proto);
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map) \
-void __event_template_proto___##_template(void);
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
-void __event_template_proto___##_name(_proto);
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
-void __event_template_proto___##_name(void);
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-/*
- * Stage 1.2 of tracepoint event generation
- *
- * Unfolding the enums
- */
-#include <probes/lttng-events-reset.h> /* Reset all macros within TRACE_EVENT */
-
-/* Enumeration entry (single value) */
-#undef ctf_enum_value
-#define ctf_enum_value(_string, _value)                                        \
-       {                                                               \
-               .start = {                                              \
-                       .signedness = lttng_is_signed_type(__typeof__(_value)), \
-                       .value = lttng_is_signed_type(__typeof__(_value)) ? \
-                               (long long) (_value) : (_value),        \
-               },                                                      \
-               .end = {                                                \
-                       .signedness = lttng_is_signed_type(__typeof__(_value)), \
-                       .value = lttng_is_signed_type(__typeof__(_value)) ? \
-                               (long long) (_value) : (_value),        \
-               },                                                      \
-               .string = (_string),                                    \
-       },
-
-/* Enumeration entry (range) */
-#undef ctf_enum_range
-#define ctf_enum_range(_string, _range_start, _range_end)              \
-       {                                                               \
-               .start = {                                              \
-                       .signedness = lttng_is_signed_type(__typeof__(_range_start)), \
-                       .value = lttng_is_signed_type(__typeof__(_range_start)) ? \
-                               (long long) (_range_start) : (_range_start), \
-               },                                                      \
-               .end = {                                                \
-                       .signedness = lttng_is_signed_type(__typeof__(_range_end)), \
-                       .value = lttng_is_signed_type(__typeof__(_range_end)) ? \
-                               (long long) (_range_end) : (_range_end), \
-               },                                                      \
-               .string = (_string),                                    \
-       },
-
-/* Enumeration entry (automatic value; follows the rules of CTF) */
-#undef ctf_enum_auto
-#define ctf_enum_auto(_string)                                 \
-       {                                                               \
-               .start = {                                              \
-                       .signedness = -1,                               \
-                       .value = -1,                                    \
-               },                                                      \
-               .end = {                                                \
-                       .signedness = -1,                               \
-                       .value = -1,                                    \
-               },                                                      \
-               .string = (_string),                                    \
-               .options = {                                            \
-                       .is_auto = 1,                                   \
-               }                                                       \
-       },
-
-#undef TP_ENUM_VALUES
-#define TP_ENUM_VALUES(...)                                            \
-       __VA_ARGS__
-
-#undef LTTNG_TRACEPOINT_ENUM
-#define LTTNG_TRACEPOINT_ENUM(_name, _values)                          \
-       const struct lttng_enum_entry __enum_values__##_name[] = { \
-               _values                                                 \
-       };
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-/*
- * Stage 2 of the trace events.
- *
- * Create event field type metadata section.
- * Each event produce an array of fields.
- */
-
-/* Reset all macros within TRACEPOINT_EVENT */
-#include <probes/lttng-events-reset.h>
-#include <probes/lttng-events-write.h>
-#include <probes/lttng-events-nowrite.h>
-
-#undef _ctf_integer_ext
-#define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, _user, _nowrite) \
-       {                                                       \
-         .name = #_item,                                       \
-         .type = __type_integer(_type, 0, 0, -1, _byte_order, _base, none), \
-         .nowrite = _nowrite,                                  \
-         .user = _user,                                        \
-         .nofilter = 0,                                        \
-       },
-
-#undef _ctf_array_encoded
-#define _ctf_array_encoded(_type, _item, _src, _length,                \
-               _encoding, _byte_order, _elem_type_base, _user, _nowrite) \
-       {                                                       \
-         .name = #_item,                                       \
-         .type =                                               \
-               {                                               \
-                 .atype = atype_array_nestable,                \
-                 .u =                                          \
-                       {                                       \
-                         .array_nestable =                     \
-                               {                               \
-                                 .elem_type = __LTTNG_COMPOUND_LITERAL(struct lttng_type, \
-                                       __type_integer(_type, 0, 0, -1, _byte_order, _elem_type_base, _encoding)), \
-                                 .length = _length,            \
-                                 .alignment = 0,               \
-                               }                               \
-                       }                                       \
-               },                                              \
-         .nowrite = _nowrite,                                  \
-         .user = _user,                                        \
-         .nofilter = 0,                                        \
-       },
-
-#undef _ctf_array_bitfield
-#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
-       {                                                       \
-         .name = #_item,                                       \
-         .type =                                               \
-               {                                               \
-                 .atype = atype_array_nestable,                \
-                 .u =                                          \
-                       {                                       \
-                         .array_nestable =                     \
-                               {                               \
-                                 .elem_type = __LTTNG_COMPOUND_LITERAL(struct lttng_type, \
-                                       __type_integer(_type, 1, 1, 0, __LITTLE_ENDIAN, 10, none)), \
-                                 .length = (_length) * sizeof(_type) * CHAR_BIT, \
-                                 .alignment = lttng_alignof(_type), \
-                               }                               \
-                       }                                       \
-               },                                              \
-         .nowrite = _nowrite,                                  \
-         .user = _user,                                        \
-         .nofilter = 0,                                        \
-       },
-
-
-#undef _ctf_sequence_encoded
-#define _ctf_sequence_encoded(_type, _item, _src,              \
-                       _length_type, _src_length, _encoding,   \
-                       _byte_order, _elem_type_base, _user, _nowrite) \
-       {                                                       \
-         .name = "_" #_item "_length",                         \
-         .type = __type_integer(_length_type, 0, 0, -1, __BYTE_ORDER, 10, none), \
-         .nowrite = _nowrite,                                  \
-         .nofilter = 1,                                        \
-       },                                                      \
-       {                                                       \
-         .name = #_item,                                       \
-         .type =                                               \
-               {                                               \
-                 .atype = atype_sequence_nestable,             \
-                 .u =                                          \
-                       {                                       \
-                         .sequence_nestable =                  \
-                               {                               \
-                                 .length_name = "_" #_item "_length", \
-                                 .elem_type = __LTTNG_COMPOUND_LITERAL(struct lttng_type, \
-                                       __type_integer(_type, 0, 0, -1, _byte_order, _elem_type_base, _encoding)), \
-                                 .alignment = 0,               \
-                               },                              \
-                       },                                      \
-               },                                              \
-         .nowrite = _nowrite,                                  \
-         .user = _user,                                        \
-         .nofilter = 0,                                        \
-       },
-
-#undef _ctf_sequence_bitfield
-#define _ctf_sequence_bitfield(_type, _item, _src,             \
-                       _length_type, _src_length,              \
-                       _user, _nowrite)                        \
-       {                                                       \
-         .name = "_" #_item "_length",                         \
-         .type = __type_integer(_length_type, 0, 0, -1, __BYTE_ORDER, 10, none), \
-         .nowrite = _nowrite,                                  \
-         .nofilter = 1,                                        \
-       },                                                      \
-       {                                                       \
-         .name = #_item,                                       \
-         .type =                                               \
-               {                                               \
-                 .atype = atype_sequence_nestable,             \
-                 .u =                                          \
-                       {                                       \
-                         .sequence_nestable =                  \
-                               {                               \
-                                 .length_name = "_" #_item "_length", \
-                                 .elem_type = __LTTNG_COMPOUND_LITERAL(struct lttng_type, \
-                                       __type_integer(_type, 1, 1, 0, __LITTLE_ENDIAN, 10, none)), \
-                                 .alignment = lttng_alignof(_type), \
-                               },                              \
-                       },                                      \
-               },                                              \
-         .nowrite = _nowrite,                                  \
-         .user = _user,                                        \
-         .nofilter = 0,                                        \
-       },
-
-#undef _ctf_string
-#define _ctf_string(_item, _src, _user, _nowrite)              \
-       {                                                       \
-         .name = #_item,                                       \
-         .type =                                               \
-               {                                               \
-                 .atype = atype_string,                        \
-                 .u =                                          \
-                       {                                       \
-                         .string = { .encoding = lttng_encode_UTF8 }, \
-                       },                                      \
-               },                                              \
-         .nowrite = _nowrite,                                  \
-         .user = _user,                                        \
-         .nofilter = 0,                                        \
-       },
-
-#undef _ctf_enum
-#define _ctf_enum(_name, _type, _item, _src, _user, _nowrite)  \
-       {                                                       \
-               .name = #_item,                                 \
-               .type = {                                       \
-                       .atype = atype_enum_nestable,           \
-                       .u = {                                  \
-                               .enum_nestable = {              \
-                                       .desc = &__enum_##_name, \
-                                       .container_type = __LTTNG_COMPOUND_LITERAL(struct lttng_type, \
-                                               __type_integer(_type, 0, 0, -1, __BYTE_ORDER, 10, none)), \
-                               },                              \
-                       },                                      \
-               },                                              \
-               .nowrite = _nowrite,                            \
-               .user = _user,                                  \
-               .nofilter = 0,                                  \
-       },
-
-#undef ctf_custom_field
-#define ctf_custom_field(_type, _item, _code)                  \
-       {                                                       \
-               .name = #_item,                                 \
-               .type = _type,                                  \
-               .nowrite = 0,                                   \
-               .user = 0,                                      \
-               .nofilter = 1,                                  \
-       },
-
-#undef ctf_custom_type
-#define ctf_custom_type(...)   __VA_ARGS__
-
-#undef TP_FIELDS
-#define TP_FIELDS(...) __VA_ARGS__     /* Only one used in this phase */
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
-       static const struct lttng_event_field __event_fields___##_name[] = { \
-               _fields                                                      \
-       };
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
-       LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, PARAMS(_fields), _code_post)
-
-#undef LTTNG_TRACEPOINT_ENUM
-#define LTTNG_TRACEPOINT_ENUM(_name, _values)                                          \
-       static const struct lttng_enum_desc __enum_##_name = {                          \
-               .name = #_name,                                                         \
-               .entries = __enum_values__##_name,                                      \
-               .nr_entries = ARRAY_SIZE(__enum_values__##_name),                       \
-       };
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-/*
- * Stage 3 of the trace events.
- *
- * Create probe callback prototypes.
- */
-
-/* Reset all macros within TRACEPOINT_EVENT */
-#include <probes/lttng-events-reset.h>
-
-#undef TP_PROTO
-#define TP_PROTO(...)  __VA_ARGS__
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
-static void __event_probe__##_name(void *__data, _proto);
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
-static void __event_probe__##_name(void *__data);
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-/*
- * Stage 4 of the trace events.
- *
- * Create static inline function that calculates event size.
- */
-
-/* Reset all macros within TRACEPOINT_EVENT */
-#include <probes/lttng-events-reset.h>
-#include <probes/lttng-events-write.h>
-
-#undef _ctf_integer_ext
-#define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, _user, _nowrite) \
-       __event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_type)); \
-       __event_len += sizeof(_type);
-
-#undef _ctf_array_encoded
-#define _ctf_array_encoded(_type, _item, _src, _length, _encoding, _byte_order, _base, _user, _nowrite) \
-       __event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_type)); \
-       __event_len += sizeof(_type) * (_length);
-
-#undef _ctf_array_bitfield
-#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
-       _ctf_array_encoded(_type, _item, _src, _length, none, __LITTLE_ENDIAN, 0, _user, _nowrite)
-
-#undef _ctf_sequence_encoded
-#define _ctf_sequence_encoded(_type, _item, _src, _length_type,                        \
-                       _src_length, _encoding, _byte_order, _base, _user, _nowrite) \
-       __event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_length_type)); \
-       __event_len += sizeof(_length_type);                                   \
-       __event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_type)); \
-       {                                                                               \
-               size_t __seqlen = (_src_length);                                        \
-                                                                                       \
-               if (unlikely(++this_cpu_ptr(&lttng_dynamic_len_stack)->offset >= LTTNG_DYNAMIC_LEN_STACK_SIZE)) \
-                       goto error;                                                     \
-               barrier();      /* reserve before use. */                               \
-               this_cpu_ptr(&lttng_dynamic_len_stack)->stack[this_cpu_ptr(&lttng_dynamic_len_stack)->offset - 1] = __seqlen; \
-               __event_len += sizeof(_type) * __seqlen;                                \
-       }
-
-#undef _ctf_sequence_bitfield
-#define _ctf_sequence_bitfield(_type, _item, _src,             \
-                       _length_type, _src_length,              \
-                       _user, _nowrite)                        \
-       _ctf_sequence_encoded(_type, _item, _src, _length_type, _src_length, \
-               none, __LITTLE_ENDIAN, 10, _user, _nowrite)
-
-/*
- * ctf_user_string includes \0. If returns 0, it faulted, so we set size to
- * 1 (\0 only).
- */
-#undef _ctf_string
-#define _ctf_string(_item, _src, _user, _nowrite)                             \
-       if (unlikely(++this_cpu_ptr(&lttng_dynamic_len_stack)->offset >= LTTNG_DYNAMIC_LEN_STACK_SIZE)) \
-               goto error;                                                    \
-       barrier();      /* reserve before use. */                              \
-       if (_user) {                                                           \
-               __event_len += this_cpu_ptr(&lttng_dynamic_len_stack)->stack[this_cpu_ptr(&lttng_dynamic_len_stack)->offset - 1] = \
-                       max_t(size_t, lttng_strlen_user_inatomic(_src), 1);    \
-       } else {                                                               \
-               __event_len += this_cpu_ptr(&lttng_dynamic_len_stack)->stack[this_cpu_ptr(&lttng_dynamic_len_stack)->offset - 1] = \
-                       strlen((_src) ? (_src) : __LTTNG_NULL_STRING) + 1; \
-       }
-
-#undef _ctf_enum
-#define _ctf_enum(_name, _type, _item, _src, _user, _nowrite)                 \
-       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, _user, _nowrite)
-
-#undef ctf_align
-#define ctf_align(_type)                                               \
-       __event_len += lib_ring_buffer_align(__event_len, lttng_alignof(_type));
-
-#undef ctf_custom_field
-#define ctf_custom_field(_type, _item, _code)                          \
-       {                                                               \
-               _code                                                   \
-       }
-
-#undef ctf_custom_code
-#define ctf_custom_code(...)           __VA_ARGS__
-
-#undef TP_PROTO
-#define TP_PROTO(...)  __VA_ARGS__
-
-#undef TP_FIELDS
-#define TP_FIELDS(...) __VA_ARGS__
-
-#undef TP_locvar
-#define TP_locvar(...) __VA_ARGS__
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
-static inline ssize_t __event_get_size__##_name(void *__tp_locvar, _proto)     \
-{                                                                            \
-       size_t __event_len = 0;                                               \
-       unsigned int __dynamic_len_idx __attribute__((unused)) = 0;           \
-       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
-                                                                             \
-       _fields                                                               \
-       return __event_len;                                                   \
-                                                                             \
-error:                                                                       \
-       __attribute__((unused));                                              \
-       return -1;                                                            \
-}
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
-static inline ssize_t __event_get_size__##_name(void *__tp_locvar)           \
-{                                                                            \
-       size_t __event_len = 0;                                               \
-       unsigned int __dynamic_len_idx __attribute__((unused)) = 0;           \
-       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
-                                                                             \
-       _fields                                                               \
-       return __event_len;                                                   \
-                                                                             \
-error:                                                                       \
-       __attribute__((unused));                                              \
-       return -1;                                                            \
-}
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-
-/*
- * Stage 4.1 of tracepoint event generation.
- *
- * Create static inline function that layout the filter stack data.
- * We make both write and nowrite data available to the filter.
- */
-
-/* Reset all macros within TRACEPOINT_EVENT */
-#include <probes/lttng-events-reset.h>
-#include <probes/lttng-events-write.h>
-#include <probes/lttng-events-nowrite.h>
-
-#undef _ctf_integer_ext_fetched
-#define _ctf_integer_ext_fetched(_type, _item, _src, _byte_order, _base, _nowrite) \
-       if (lttng_is_signed_type(_type)) {                                     \
-               int64_t __ctf_tmp_int64;                                       \
-               switch (sizeof(_type)) {                                       \
-               case 1:                                                        \
-               {                                                              \
-                       union { _type t; int8_t v; } __tmp = { (_type) (_src) }; \
-                       __ctf_tmp_int64 = (int64_t) __tmp.v;                   \
-                       break;                                                 \
-               }                                                              \
-               case 2:                                                        \
-               {                                                              \
-                       union { _type t; int16_t v; } __tmp = { (_type) (_src) }; \
-                       if (_byte_order != __BYTE_ORDER)                       \
-                               __swab16s(&__tmp.v);                           \
-                       __ctf_tmp_int64 = (int64_t) __tmp.v;                   \
-                       break;                                                 \
-               }                                                              \
-               case 4:                                                        \
-               {                                                              \
-                       union { _type t; int32_t v; } __tmp = { (_type) (_src) }; \
-                       if (_byte_order != __BYTE_ORDER)                       \
-                               __swab32s(&__tmp.v);                           \
-                       __ctf_tmp_int64 = (int64_t) __tmp.v;                   \
-                       break;                                                 \
-               }                                                              \
-               case 8:                                                        \
-               {                                                              \
-                       union { _type t; int64_t v; } __tmp = { (_type) (_src) }; \
-                       if (_byte_order != __BYTE_ORDER)                       \
-                               __swab64s(&__tmp.v);                           \
-                       __ctf_tmp_int64 = (int64_t) __tmp.v;                   \
-                       break;                                                 \
-               }                                                              \
-               default:                                                       \
-                       BUG_ON(1);                                             \
-               };                                                             \
-               memcpy(__stack_data, &__ctf_tmp_int64, sizeof(int64_t));       \
-       } else {                                                               \
-               uint64_t __ctf_tmp_uint64;                                     \
-               switch (sizeof(_type)) {                                       \
-               case 1:                                                        \
-               {                                                              \
-                       union { _type t; uint8_t v; } __tmp = { (_type) (_src) }; \
-                       __ctf_tmp_uint64 = (uint64_t) __tmp.v;                 \
-                       break;                                                 \
-               }                                                              \
-               case 2:                                                        \
-               {                                                              \
-                       union { _type t; uint16_t v; } __tmp = { (_type) (_src) }; \
-                       if (_byte_order != __BYTE_ORDER)                       \
-                               __swab16s(&__tmp.v);                           \
-                       __ctf_tmp_uint64 = (uint64_t) __tmp.v;                 \
-                       break;                                                 \
-               }                                                              \
-               case 4:                                                        \
-               {                                                              \
-                       union { _type t; uint32_t v; } __tmp = { (_type) (_src) }; \
-                       if (_byte_order != __BYTE_ORDER)                       \
-                               __swab32s(&__tmp.v);                           \
-                       __ctf_tmp_uint64 = (uint64_t) __tmp.v;                 \
-                       break;                                                 \
-               }                                                              \
-               case 8:                                                        \
-               {                                                              \
-                       union { _type t; uint64_t v; } __tmp = { (_type) (_src) }; \
-                       if (_byte_order != __BYTE_ORDER)                       \
-                               __swab64s(&__tmp.v);                           \
-                       __ctf_tmp_uint64 = (uint64_t) __tmp.v;                 \
-                       break;                                                 \
-               }                                                              \
-               default:                                                       \
-                       BUG_ON(1);                                             \
-               };                                                             \
-               memcpy(__stack_data, &__ctf_tmp_uint64, sizeof(uint64_t));     \
-       }                                                                      \
-       __stack_data += sizeof(int64_t);
-
-#undef _ctf_integer_ext_isuser0
-#define _ctf_integer_ext_isuser0(_type, _item, _src, _byte_order, _base, _nowrite) \
-       _ctf_integer_ext_fetched(_type, _item, _src, _byte_order, _base, _nowrite)
-
-#undef _ctf_integer_ext_isuser1
-#define _ctf_integer_ext_isuser1(_type, _item, _user_src, _byte_order, _base, _nowrite) \
-{                                                                                      \
-       union {                                                                         \
-               char __array[sizeof(_user_src)];                                        \
-               __typeof__(_user_src) __v;                                              \
-       } __tmp_fetch;                                                                  \
-       if (lib_ring_buffer_copy_from_user_check_nofault(__tmp_fetch.__array,           \
-                               &(_user_src), sizeof(_user_src)))                       \
-               memset(__tmp_fetch.__array, 0, sizeof(__tmp_fetch.__array));            \
-       _ctf_integer_ext_fetched(_type, _item, __tmp_fetch.__v, _byte_order, _base, _nowrite) \
-}
-
-#undef _ctf_integer_ext
-#define _ctf_integer_ext(_type, _item, _user_src, _byte_order, _base, _user, _nowrite) \
-       _ctf_integer_ext_isuser##_user(_type, _item, _user_src, _byte_order, _base, _nowrite)
-
-#undef _ctf_array_encoded
-#define _ctf_array_encoded(_type, _item, _src, _length, _encoding, _byte_order, _base, _user, _nowrite) \
-       {                                                                      \
-               unsigned long __ctf_tmp_ulong = (unsigned long) (_length);     \
-               const void *__ctf_tmp_ptr = (_src);                            \
-               memcpy(__stack_data, &__ctf_tmp_ulong, sizeof(unsigned long)); \
-               __stack_data += sizeof(unsigned long);                         \
-               memcpy(__stack_data, &__ctf_tmp_ptr, sizeof(void *));          \
-               __stack_data += sizeof(void *);                                \
-       }
-
-#undef _ctf_array_bitfield
-#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
-       _ctf_array_encoded(_type, _item, _src, _length, none, __LITTLE_ENDIAN, 0, _user, _nowrite)
-
-#undef _ctf_sequence_encoded
-#define _ctf_sequence_encoded(_type, _item, _src, _length_type,                       \
-                       _src_length, _encoding, _byte_order, _base, _user, _nowrite) \
-       {                                                                      \
-               unsigned long __ctf_tmp_ulong = (unsigned long) (_src_length); \
-               const void *__ctf_tmp_ptr = (_src);                            \
-               memcpy(__stack_data, &__ctf_tmp_ulong, sizeof(unsigned long)); \
-               __stack_data += sizeof(unsigned long);                         \
-               memcpy(__stack_data, &__ctf_tmp_ptr, sizeof(void *));          \
-               __stack_data += sizeof(void *);                                \
-       }
-
-#undef _ctf_sequence_bitfield
-#define _ctf_sequence_bitfield(_type, _item, _src,             \
-                       _length_type, _src_length,              \
-                       _user, _nowrite)                        \
-       _ctf_sequence_encoded(_type, _item, _src, _length_type, _src_length, \
-               none, __LITTLE_ENDIAN, 10, _user, _nowrite)
-
-#undef _ctf_string
-#define _ctf_string(_item, _src, _user, _nowrite)                             \
-       {                                                                      \
-               const void *__ctf_tmp_ptr =                                    \
-                       ((_src) ? (_src) : __LTTNG_NULL_STRING);               \
-               memcpy(__stack_data, &__ctf_tmp_ptr, sizeof(void *));          \
-               __stack_data += sizeof(void *);                                \
-       }
-
-#undef _ctf_enum
-#define _ctf_enum(_name, _type, _item, _src, _user, _nowrite)                 \
-       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, _user, _nowrite)
-
-#undef TP_PROTO
-#define TP_PROTO(...) __VA_ARGS__
-
-#undef TP_FIELDS
-#define TP_FIELDS(...) __VA_ARGS__
-
-#undef TP_locvar
-#define TP_locvar(...) __VA_ARGS__
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
-static inline                                                                \
-void __event_prepare_filter_stack__##_name(char *__stack_data,               \
-               void *__tp_locvar)                                            \
-{                                                                            \
-       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
-                                                                             \
-       _fields                                                               \
-}
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
-static inline                                                                \
-void __event_prepare_filter_stack__##_name(char *__stack_data,               \
-               void *__tp_locvar, _proto)                                    \
-{                                                                            \
-       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
-                                                                             \
-       _fields                                                               \
-}
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-/*
- * Stage 5 of the trace events.
- *
- * Create static inline function that calculates event payload alignment.
- */
-
-/* Reset all macros within TRACEPOINT_EVENT */
-#include <probes/lttng-events-reset.h>
-#include <probes/lttng-events-write.h>
-
-#undef _ctf_integer_ext
-#define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, _user, _nowrite) \
-       __event_align = max_t(size_t, __event_align, lttng_alignof(_type));
-
-#undef _ctf_array_encoded
-#define _ctf_array_encoded(_type, _item, _src, _length, _encoding, _byte_order, _base, _user, _nowrite) \
-       __event_align = max_t(size_t, __event_align, lttng_alignof(_type));
-
-#undef _ctf_array_bitfield
-#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
-       _ctf_array_encoded(_type, _item, _src, _length, none, __LITTLE_ENDIAN, 0, _user, _nowrite)
-
-#undef _ctf_sequence_encoded
-#define _ctf_sequence_encoded(_type, _item, _src, _length_type,                        \
-                       _src_length, _encoding, _byte_order, _base, _user, _nowrite) \
-       __event_align = max_t(size_t, __event_align, lttng_alignof(_length_type)); \
-       __event_align = max_t(size_t, __event_align, lttng_alignof(_type));
-
-#undef _ctf_sequence_bitfield
-#define _ctf_sequence_bitfield(_type, _item, _src,             \
-                       _length_type, _src_length,              \
-                       _user, _nowrite)                        \
-       _ctf_sequence_encoded(_type, _item, _src, _length_type, _src_length, \
-               none, __LITTLE_ENDIAN, 10, _user, _nowrite)
-
-#undef _ctf_string
-#define _ctf_string(_item, _src, _user, _nowrite)
-
-#undef _ctf_enum
-#define _ctf_enum(_name, _type, _item, _src, _user, _nowrite)  \
-       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, _user, _nowrite)
-
-#undef ctf_align
-#define ctf_align(_type)                                               \
-       __event_align = max_t(size_t, __event_align, lttng_alignof(_type));
-
-#undef TP_PROTO
-#define TP_PROTO(...)  __VA_ARGS__
-
-#undef TP_FIELDS
-#define TP_FIELDS(...) __VA_ARGS__
-
-#undef TP_locvar
-#define TP_locvar(...) __VA_ARGS__
-
-#undef ctf_custom_field
-#define ctf_custom_field(_type, _item, _code)          _code
-
-#undef ctf_custom_code
-#define ctf_custom_code(...)                                           \
-       {                                                               \
-               __VA_ARGS__                                             \
-       }
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
-static inline size_t __event_get_align__##_name(void *__tp_locvar, _proto)    \
-{                                                                            \
-       size_t __event_align = 1;                                             \
-       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
-                                                                             \
-       _fields                                                               \
-       return __event_align;                                                 \
-}
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
-static inline size_t __event_get_align__##_name(void *__tp_locvar)           \
-{                                                                            \
-       size_t __event_align = 1;                                             \
-       struct { _locvar } *tp_locvar __attribute__((unused)) = __tp_locvar;  \
-                                                                             \
-       _fields                                                               \
-       return __event_align;                                                 \
-}
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-/*
- * Stage 6 of tracepoint event generation.
- *
- * Create the probe function. This function calls event size calculation
- * and writes event data into the buffer.
- */
-
-/* Reset all macros within TRACEPOINT_EVENT */
-#include <probes/lttng-events-reset.h>
-#include <probes/lttng-events-write.h>
-
-#undef _ctf_integer_ext_fetched
-#define _ctf_integer_ext_fetched(_type, _item, _src, _byte_order, _base, _nowrite) \
-       {                                                               \
-               _type __tmp = _src;                                     \
-               lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(__tmp));\
-               __chan->ops->event_write(&__ctx, &__tmp, sizeof(__tmp));\
-       }
-
-#undef _ctf_integer_ext_isuser0
-#define _ctf_integer_ext_isuser0(_type, _item, _src, _byte_order, _base, _nowrite) \
-       _ctf_integer_ext_fetched(_type, _item, _src, _byte_order, _base, _nowrite)
-
-#undef _ctf_integer_ext_isuser1
-#define _ctf_integer_ext_isuser1(_type, _item, _user_src, _byte_order, _base, _nowrite) \
-{                                                                             \
-       union {                                                                         \
-               char __array[sizeof(_user_src)];                                        \
-               __typeof__(_user_src) __v;                                              \
-       } __tmp_fetch;                                                                  \
-       if (lib_ring_buffer_copy_from_user_check_nofault(__tmp_fetch.__array,           \
-                               &(_user_src), sizeof(_user_src)))                       \
-               memset(__tmp_fetch.__array, 0, sizeof(__tmp_fetch.__array));            \
-       _ctf_integer_ext_fetched(_type, _item, __tmp_fetch.__v, _byte_order, _base, _nowrite) \
-}
-
-#undef _ctf_integer_ext
-#define _ctf_integer_ext(_type, _item, _user_src, _byte_order, _base, _user, _nowrite) \
-       _ctf_integer_ext_isuser##_user(_type, _item, _user_src, _byte_order, _base, _nowrite)
-
-#undef _ctf_array_encoded
-#define _ctf_array_encoded(_type, _item, _src, _length, _encoding, _byte_order, _base, _user, _nowrite) \
-       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
-       if (_user) {                                                    \
-               __chan->ops->event_write_from_user(&__ctx, _src, sizeof(_type) * (_length)); \
-       } else {                                                        \
-               __chan->ops->event_write(&__ctx, _src, sizeof(_type) * (_length)); \
-       }
-
-#if (__BYTE_ORDER == __LITTLE_ENDIAN)
-#undef _ctf_array_bitfield
-#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
-       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
-       if (_user) {                                                    \
-               __chan->ops->event_write_from_user(&__ctx, _src, sizeof(_type) * (_length)); \
-       } else {                                                        \
-               __chan->ops->event_write(&__ctx, _src, sizeof(_type) * (_length)); \
-       }
-#else /* #if (__BYTE_ORDER == __LITTLE_ENDIAN) */
-/*
- * For big endian, we need to byteswap into little endian.
- */
-#undef _ctf_array_bitfield
-#define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
-       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
-       {                                                               \
-               size_t _i;                                              \
-                                                                       \
-               for (_i = 0; _i < (_length); _i++) {                    \
-                       _type _tmp;                                     \
-                                                                       \
-                       if (_user) {                                    \
-                               if (get_user(_tmp, (_type *) _src + _i)) \
-                                       _tmp = 0;                       \
-                       } else {                                        \
-                               _tmp = ((_type *) _src)[_i];            \
-                       }                                               \
-                       switch (sizeof(_type)) {                        \
-                       case 1:                                         \
-                               break;                                  \
-                       case 2:                                         \
-                               _tmp = cpu_to_le16(_tmp);               \
-                               break;                                  \
-                       case 4:                                         \
-                               _tmp = cpu_to_le32(_tmp);               \
-                               break;                                  \
-                       case 8:                                         \
-                               _tmp = cpu_to_le64(_tmp);               \
-                               break;                                  \
-                       default:                                        \
-                               BUG_ON(1);                              \
-                       }                                               \
-                       __chan->ops->event_write(&__ctx, &_tmp, sizeof(_type)); \
-               }                                                       \
-       }
-#endif /* #else #if (__BYTE_ORDER == __LITTLE_ENDIAN) */
-
-#undef _ctf_sequence_encoded
-#define _ctf_sequence_encoded(_type, _item, _src, _length_type,                \
-                       _src_length, _encoding, _byte_order, _base, _user, _nowrite) \
-       {                                                               \
-               _length_type __tmpl = this_cpu_ptr(&lttng_dynamic_len_stack)->stack[__dynamic_len_idx]; \
-               lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_length_type));\
-               __chan->ops->event_write(&__ctx, &__tmpl, sizeof(_length_type));\
-       }                                                               \
-       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
-       if (_user) {                                                    \
-               __chan->ops->event_write_from_user(&__ctx, _src,        \
-                       sizeof(_type) * __get_dynamic_len(dest));       \
-       } else {                                                        \
-               __chan->ops->event_write(&__ctx, _src,                  \
-                       sizeof(_type) * __get_dynamic_len(dest));       \
-       }
-
-#if (__BYTE_ORDER == __LITTLE_ENDIAN)
-#undef _ctf_sequence_bitfield
-#define _ctf_sequence_bitfield(_type, _item, _src,             \
-                       _length_type, _src_length,              \
-                       _user, _nowrite)                        \
-       {                                                               \
-               _length_type __tmpl = this_cpu_ptr(&lttng_dynamic_len_stack)->stack[__dynamic_len_idx] * sizeof(_type) * CHAR_BIT; \
-               lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_length_type));\
-               __chan->ops->event_write(&__ctx, &__tmpl, sizeof(_length_type));\
-       }                                                               \
-       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
-       if (_user) {                                                    \
-               __chan->ops->event_write_from_user(&__ctx, _src,        \
-                       sizeof(_type) * __get_dynamic_len(dest));       \
-       } else {                                                        \
-               __chan->ops->event_write(&__ctx, _src,                  \
-                       sizeof(_type) * __get_dynamic_len(dest));       \
-       }
-#else /* #if (__BYTE_ORDER == __LITTLE_ENDIAN) */
-/*
- * For big endian, we need to byteswap into little endian.
- */
-#undef _ctf_sequence_bitfield
-#define _ctf_sequence_bitfield(_type, _item, _src,             \
-                       _length_type, _src_length,              \
-                       _user, _nowrite)                        \
-       {                                                       \
-               _length_type __tmpl = this_cpu_ptr(&lttng_dynamic_len_stack)->stack[__dynamic_len_idx] * sizeof(_type) * CHAR_BIT; \
-               lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_length_type));\
-               __chan->ops->event_write(&__ctx, &__tmpl, sizeof(_length_type));\
-       }                                                               \
-       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));        \
-       {                                                               \
-               size_t _i, _length;                                     \
-                                                                       \
-               _length = __get_dynamic_len(dest);                      \
-               for (_i = 0; _i < _length; _i++) {                      \
-                       _type _tmp;                                     \
-                                                                       \
-                       if (_user) {                                    \
-                               if (get_user(_tmp, (_type *) _src + _i)) \
-                                       _tmp = 0;                       \
-                       } else {                                        \
-                               _tmp = ((_type *) _src)[_i];            \
-                       }                                               \
-                       switch (sizeof(_type)) {                        \
-                       case 1:                                         \
-                               break;                                  \
-                       case 2:                                         \
-                               _tmp = cpu_to_le16(_tmp);               \
-                               break;                                  \
-                       case 4:                                         \
-                               _tmp = cpu_to_le32(_tmp);               \
-                               break;                                  \
-                       case 8:                                         \
-                               _tmp = cpu_to_le64(_tmp);               \
-                               break;                                  \
-                       default:                                        \
-                               BUG_ON(1);                              \
-                       }                                               \
-                       __chan->ops->event_write(&__ctx, &_tmp, sizeof(_type)); \
-               }                                                       \
-       }
-#endif /* #else #if (__BYTE_ORDER == __LITTLE_ENDIAN) */
-
-#undef _ctf_string
-#define _ctf_string(_item, _src, _user, _nowrite)                      \
-       if (_user) {                                                    \
-               lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(*(_src))); \
-               __chan->ops->event_strcpy_from_user(&__ctx, _src,       \
-                       __get_dynamic_len(dest));                       \
-       } else {                                                        \
-               const char *__ctf_tmp_string =                          \
-                       ((_src) ? (_src) : __LTTNG_NULL_STRING);        \
-               lib_ring_buffer_align_ctx(&__ctx,                       \
-                       lttng_alignof(*__ctf_tmp_string));              \
-               __chan->ops->event_strcpy(&__ctx, __ctf_tmp_string,     \
-                       __get_dynamic_len(dest));                       \
-       }
-
-#undef _ctf_enum
-#define _ctf_enum(_name, _type, _item, _src, _user, _nowrite)          \
-       _ctf_integer_ext(_type, _item, _src, __BYTE_ORDER, 10, _user, _nowrite)
-
-#undef ctf_align
-#define ctf_align(_type)                                               \
-       lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type));
-
-#undef ctf_custom_field
-#define ctf_custom_field(_type, _item, _code)          _code
-
-#undef ctf_custom_code
-#define ctf_custom_code(...)                                           \
-       {                                                               \
-               __VA_ARGS__                                             \
-       }
-
-/* Beware: this get len actually consumes the len value */
-#undef __get_dynamic_len
-#define __get_dynamic_len(field)       this_cpu_ptr(&lttng_dynamic_len_stack)->stack[__dynamic_len_idx++]
-
-#undef TP_PROTO
-#define TP_PROTO(...)  __VA_ARGS__
-
-#undef TP_ARGS
-#define TP_ARGS(...)   __VA_ARGS__
-
-#undef TP_FIELDS
-#define TP_FIELDS(...) __VA_ARGS__
-
-#undef TP_locvar
-#define TP_locvar(...) __VA_ARGS__
-
-#undef TP_code_pre
-#define TP_code_pre(...)       __VA_ARGS__
-
-#undef TP_code_post
-#define TP_code_post(...)      __VA_ARGS__
-
-/*
- * For state dump, check that "session" argument (mandatory) matches the
- * session this event belongs to. Ensures that we write state dump data only
- * into the started session, not into all sessions.
- */
-#ifdef TP_SESSION_CHECK
-#define _TP_SESSION_CHECK(session, csession)   (session == csession)
-#else /* TP_SESSION_CHECK */
-#define _TP_SESSION_CHECK(session, csession)   1
-#endif /* TP_SESSION_CHECK */
-
-/*
- * Using twice size for filter stack data to hold size and pointer for
- * each field (worse case). For integers, max size required is 64-bit.
- * Same for double-precision floats. Those fit within
- * 2*sizeof(unsigned long) for all supported architectures.
- * Perform UNION (||) of filter runtime list.
- */
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post) \
-static void __event_probe__##_name(void *__data, _proto)                     \
-{                                                                            \
-       struct probe_local_vars { _locvar };                                  \
-       struct lttng_event *__event = __data;                                 \
-       struct lttng_probe_ctx __lttng_probe_ctx = {                                  \
-               .event = __event,                                             \
-               .interruptible = !irqs_disabled(),                            \
-       };                                                                    \
-       struct lttng_channel *__chan = __event->chan;                         \
-       struct lttng_session *__session = __chan->session;                    \
-       struct lib_ring_buffer_ctx __ctx;                                     \
-       ssize_t __event_len;                                                  \
-       size_t __event_align;                                                 \
-       size_t __orig_dynamic_len_offset, __dynamic_len_idx __attribute__((unused)); \
-       union {                                                               \
-               size_t __dynamic_len_removed[ARRAY_SIZE(__event_fields___##_name)];   \
-               char __filter_stack_data[2 * sizeof(unsigned long) * ARRAY_SIZE(__event_fields___##_name)]; \
-       } __stackvar;                                                         \
-       int __ret;                                                            \
-       struct probe_local_vars __tp_locvar;                                  \
-       struct probe_local_vars *tp_locvar __attribute__((unused)) =          \
-                       &__tp_locvar;                                         \
-       struct lttng_id_tracker_rcu *__lf;                                    \
-                                                                             \
-       if (!_TP_SESSION_CHECK(session, __session))                           \
-               return;                                                       \
-       if (unlikely(!READ_ONCE(__session->active)))                          \
-               return;                                                       \
-       if (unlikely(!READ_ONCE(__chan->enabled)))                            \
-               return;                                                       \
-       if (unlikely(!READ_ONCE(__event->enabled)))                           \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->pid_tracker.p);               \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf, current->tgid)))    \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->vpid_tracker.p);              \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf, task_tgid_vnr(current)))) \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->uid_tracker.p);               \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
-                       lttng_current_uid())))                                \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->vuid_tracker.p);              \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
-                       lttng_current_vuid())))                               \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->gid_tracker.p);               \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
-                       lttng_current_gid())))                                \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->vgid_tracker.p);              \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
-                       lttng_current_vgid())))                               \
-               return;                                                       \
-       __orig_dynamic_len_offset = this_cpu_ptr(&lttng_dynamic_len_stack)->offset; \
-       __dynamic_len_idx = __orig_dynamic_len_offset;                        \
-       _code_pre                                                             \
-       if (unlikely(!list_empty(&__event->bytecode_runtime_head))) {         \
-               struct lttng_bytecode_runtime *bc_runtime;                    \
-               int __filter_record = __event->has_enablers_without_bytecode; \
-                                                                             \
-               __event_prepare_filter_stack__##_name(__stackvar.__filter_stack_data, \
-                               tp_locvar, _args);                                    \
-               lttng_list_for_each_entry_rcu(bc_runtime, &__event->bytecode_runtime_head, node) { \
-                       if (unlikely(bc_runtime->filter(bc_runtime, &__lttng_probe_ctx,       \
-                                       __stackvar.__filter_stack_data) & LTTNG_FILTER_RECORD_FLAG)) { \
-                               __filter_record = 1;                          \
-                               break;                                        \
-                       }                                                     \
-               }                                                             \
-               if (likely(!__filter_record))                                 \
-                       goto __post;                                          \
-       }                                                                     \
-       __event_len = __event_get_size__##_name(tp_locvar, _args);            \
-       if (unlikely(__event_len < 0)) {                                      \
-               lib_ring_buffer_lost_event_too_big(__chan->chan);             \
-               goto __post;                                                  \
-       }                                                                     \
-       __event_align = __event_get_align__##_name(tp_locvar, _args);         \
-       lib_ring_buffer_ctx_init(&__ctx, __chan->chan, &__lttng_probe_ctx, __event_len,  \
-                                __event_align, -1);                          \
-       __ret = __chan->ops->event_reserve(&__ctx, __event->id);              \
-       if (__ret < 0)                                                        \
-               goto __post;                                                  \
-       _fields                                                               \
-       __chan->ops->event_commit(&__ctx);                                    \
-__post:                                                                              \
-       _code_post                                                            \
-       barrier();      /* use before un-reserve. */                          \
-       this_cpu_ptr(&lttng_dynamic_len_stack)->offset = __orig_dynamic_len_offset; \
-       return;                                                               \
-}
-
-#undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
-static void __event_probe__##_name(void *__data)                             \
-{                                                                            \
-       struct probe_local_vars { _locvar };                                  \
-       struct lttng_event *__event = __data;                                 \
-       struct lttng_probe_ctx __lttng_probe_ctx = {                                  \
-               .event = __event,                                             \
-               .interruptible = !irqs_disabled(),                            \
-       };                                                                    \
-       struct lttng_channel *__chan = __event->chan;                         \
-       struct lttng_session *__session = __chan->session;                    \
-       struct lib_ring_buffer_ctx __ctx;                                     \
-       ssize_t __event_len;                                                  \
-       size_t __event_align;                                                 \
-       size_t __orig_dynamic_len_offset, __dynamic_len_idx __attribute__((unused)); \
-       union {                                                               \
-               size_t __dynamic_len_removed[ARRAY_SIZE(__event_fields___##_name)];   \
-               char __filter_stack_data[2 * sizeof(unsigned long) * ARRAY_SIZE(__event_fields___##_name)]; \
-       } __stackvar;                                                         \
-       int __ret;                                                            \
-       struct probe_local_vars __tp_locvar;                                  \
-       struct probe_local_vars *tp_locvar __attribute__((unused)) =          \
-                       &__tp_locvar;                                         \
-       struct lttng_id_tracker_rcu *__lf;                                    \
-                                                                             \
-       if (!_TP_SESSION_CHECK(session, __session))                           \
-               return;                                                       \
-       if (unlikely(!READ_ONCE(__session->active)))                          \
-               return;                                                       \
-       if (unlikely(!READ_ONCE(__chan->enabled)))                            \
-               return;                                                       \
-       if (unlikely(!READ_ONCE(__event->enabled)))                           \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->pid_tracker.p);               \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf, current->tgid)))    \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->vpid_tracker.p);              \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf, task_tgid_vnr(current)))) \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->uid_tracker.p);               \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
-                       lttng_current_uid())))                                \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->vuid_tracker.p);              \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
-                       lttng_current_vuid())))                               \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->gid_tracker.p);               \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
-                       lttng_current_gid())))                                \
-               return;                                                       \
-       __lf = lttng_rcu_dereference(__session->vgid_tracker.p);              \
-       if (__lf && likely(!lttng_id_tracker_lookup(__lf,                     \
-                       lttng_current_vgid())))                               \
-               return;                                                       \
-       __orig_dynamic_len_offset = this_cpu_ptr(&lttng_dynamic_len_stack)->offset; \
-       __dynamic_len_idx = __orig_dynamic_len_offset;                        \
-       _code_pre                                                             \
-       if (unlikely(!list_empty(&__event->bytecode_runtime_head))) {         \
-               struct lttng_bytecode_runtime *bc_runtime;                    \
-               int __filter_record = __event->has_enablers_without_bytecode; \
-                                                                             \
-               __event_prepare_filter_stack__##_name(__stackvar.__filter_stack_data, \
-                               tp_locvar);                                   \
-               lttng_list_for_each_entry_rcu(bc_runtime, &__event->bytecode_runtime_head, node) { \
-                       if (unlikely(bc_runtime->filter(bc_runtime, &__lttng_probe_ctx, \
-                                       __stackvar.__filter_stack_data) & LTTNG_FILTER_RECORD_FLAG)) { \
-                               __filter_record = 1;                          \
-                               break;                                        \
-                       }                                                     \
-               }                                                             \
-               if (likely(!__filter_record))                                 \
-                       goto __post;                                          \
-       }                                                                     \
-       __event_len = __event_get_size__##_name(tp_locvar);                   \
-       if (unlikely(__event_len < 0)) {                                      \
-               lib_ring_buffer_lost_event_too_big(__chan->chan);             \
-               goto __post;                                                  \
-       }                                                                     \
-       __event_align = __event_get_align__##_name(tp_locvar);                \
-       lib_ring_buffer_ctx_init(&__ctx, __chan->chan, &__lttng_probe_ctx, __event_len,  \
-                                __event_align, -1);                          \
-       __ret = __chan->ops->event_reserve(&__ctx, __event->id);              \
-       if (__ret < 0)                                                        \
-               goto __post;                                                  \
-       _fields                                                               \
-       __chan->ops->event_commit(&__ctx);                                    \
-__post:                                                                              \
-       _code_post                                                            \
-       barrier();      /* use before un-reserve. */                          \
-       this_cpu_ptr(&lttng_dynamic_len_stack)->offset = __orig_dynamic_len_offset; \
-       return;                                                               \
-}
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-#undef __get_dynamic_len
-
-/*
- * Stage 7 of the trace events.
- *
- * Create event descriptions.
- */
-
-/* Named field types must be defined in lttng-types.h */
-
-#include <probes/lttng-events-reset.h> /* Reset all macros within LTTNG_TRACEPOINT_EVENT */
-
-#ifndef TP_PROBE_CB
-#define TP_PROBE_CB(_template) &__event_probe__##_template
-#endif
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map)     \
-static const struct lttng_event_desc __event_desc___##_map = {         \
-       .fields = __event_fields___##_template,                         \
-       .name = #_map,                                                  \
-       .kname = #_name,                                                \
-       .probe_callback = (void *) TP_PROBE_CB(_template),              \
-       .nr_fields = ARRAY_SIZE(__event_fields___##_template),          \
-       .owner = THIS_MODULE,                                           \
-};
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args) \
-       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map)
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-/*
- * Stage 8 of the trace events.
- *
- * Create an array of event description pointers.
- */
-
-#include <probes/lttng-events-reset.h> /* Reset all macros within LTTNG_TRACEPOINT_EVENT */
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map) \
-               &__event_desc___##_map,
-
-#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args) \
-       LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map)
-
-#define TP_ID1(_token, _system)        _token##_system
-#define TP_ID(_token, _system) TP_ID1(_token, _system)
-
-static const struct lttng_event_desc *TP_ID(__event_desc___, TRACE_SYSTEM)[] = {
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-};
-
-#undef TP_ID1
-#undef TP_ID
-
-/*
- * Stage 9 of the trace events.
- *
- * Create a toplevel descriptor for the whole probe.
- */
-
-#define TP_ID1(_token, _system)        _token##_system
-#define TP_ID(_token, _system) TP_ID1(_token, _system)
-
-/* non-const because list head will be modified when registered. */
-static __used struct lttng_probe_desc TP_ID(__probe_desc___, TRACE_SYSTEM) = {
-       .provider = __stringify(TRACE_SYSTEM),
-       .event_desc = TP_ID(__event_desc___, TRACE_SYSTEM),
-       .nr_events = ARRAY_SIZE(TP_ID(__event_desc___, TRACE_SYSTEM)),
-       .head = { NULL, NULL },
-       .lazy_init_head = { NULL, NULL },
-       .lazy = 0,
-};
-
-#undef TP_ID1
-#undef TP_ID
-
-/*
- * Stage 10 of the trace events.
- *
- * Register/unregister probes at module load/unload.
- */
-
-#include <probes/lttng-events-reset.h> /* Reset all macros within LTTNG_TRACEPOINT_EVENT */
-
-#define TP_ID1(_token, _system)        _token##_system
-#define TP_ID(_token, _system) TP_ID1(_token, _system)
-#define module_init_eval1(_token, _system)     module_init(_token##_system)
-#define module_init_eval(_token, _system)      module_init_eval1(_token, _system)
-#define module_exit_eval1(_token, _system)     module_exit(_token##_system)
-#define module_exit_eval(_token, _system)      module_exit_eval1(_token, _system)
-
-#ifndef TP_MODULE_NOINIT
-static int TP_ID(__lttng_events_init__, TRACE_SYSTEM)(void)
-{
-       wrapper_vmalloc_sync_mappings();
-       return lttng_probe_register(&TP_ID(__probe_desc___, TRACE_SYSTEM));
-}
-
-static void TP_ID(__lttng_events_exit__, TRACE_SYSTEM)(void)
-{
-       lttng_probe_unregister(&TP_ID(__probe_desc___, TRACE_SYSTEM));
-}
-
-#ifndef TP_MODULE_NOAUTOLOAD
-module_init_eval(__lttng_events_init__, TRACE_SYSTEM);
-module_exit_eval(__lttng_events_exit__, TRACE_SYSTEM);
-#endif
-
-#endif
-
-#undef module_init_eval
-#undef module_exit_eval
-#undef TP_ID1
-#undef TP_ID
-
-#undef TP_PROTO
-#undef TP_ARGS
diff --git a/probes/lttng-tracepoint-event.h b/probes/lttng-tracepoint-event.h
deleted file mode 100644 (file)
index 1a66245..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
- *
- * lttng-tracepoint-event.h
- *
- * Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- */
-
-#ifndef LTTNG_TRACEPOINT_EVENT_H
-#define LTTNG_TRACEPOINT_EVENT_H
-
-#include <linux/tracepoint.h>
-
-/*
- * If code defines LTTNG_INSTRUMENTATION before including the instrumentation
- * header, generate the instrumentation static inlines. Else, it means
- * we are a probe for the Linux kernel, and it is the probe responsibility
- * to have already included the Linux kernel instrumentation header.
- */
-#ifdef LTTNG_INSTRUMENTATION
-#define _LTTNG_INSTRUMENTATION(...)    __VA_ARGS__
-#else
-#define _LTTNG_INSTRUMENTATION(...)
-#endif
-
-#define LTTNG_TRACEPOINT_EVENT(name, proto, args, fields) \
-       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
-#define LTTNG_TRACEPOINT_EVENT_CODE(name, proto, args, _locvar, _code_pre, fields, _code_post) \
-       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
-#define LTTNG_TRACEPOINT_EVENT_CODE_MAP(name, map, proto, args, _locvar, _code_pre, fields, _code_post) \
-       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
-#define LTTNG_TRACEPOINT_EVENT_MAP(name, map, proto, args, fields) \
-       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
-#define LTTNG_TRACEPOINT_EVENT_MAP_NOARGS(name, map, fields) \
-       _LTTNG_INSTRUMENTATION(DECLARE_TRACE_NOARGS(name))
-
-#define LTTNG_TRACEPOINT_EVENT_CLASS(name, proto, args, fields)
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE(_name, _proto, _args, _locvar, _code_pre, _fields, _code_post)
-#define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post)
-
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE(template, name, proto, args) \
-       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS(template, name) \
-       _LTTNG_INSTRUMENTATION(DECLARE_TRACE_NOARGS(name))
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(_template, _name, _map, _proto, _args) \
-       _LTTNG_INSTRUMENTATION(DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)))
-#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(_template, _name, _map) \
-       _LTTNG_INSTRUMENTATION(DECLARE_TRACE_NOARGS(name))
-
-#define LTTNG_TRACEPOINT_ENUM(_name, _values)
-
-#endif /* LTTNG_TRACEPOINT_EVENT_H */
diff --git a/probes/lttng-types.h b/probes/lttng-types.h
deleted file mode 100644 (file)
index f6b4785..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
- *
- * probes/lttng-types.h
- *
- * LTTng types.
- *
- * Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- */
-
-/*
- * Protect against multiple inclusion of structure declarations, but run the
- * stages below each time.
- */
-#ifndef _LTTNG_PROBES_LTTNG_TYPES_H
-#define _LTTNG_PROBES_LTTNG_TYPES_H
-
-#include <linux/seq_file.h>
-#include <probes/lttng.h>
-#include <lttng-events.h>
-#include <lttng-tracer.h>
-#include <lttng-endian.h>
-
-#endif /* _LTTNG_PROBES_LTTNG_TYPES_H */
-
-/* Export enumerations */
-
-#ifdef STAGE_EXPORT_ENUMS
-
-#undef TRACE_EVENT_TYPE
-#define TRACE_EVENT_TYPE(_name, _abstract_type, args...)
-
-#undef TRACE_EVENT_ENUM
-#define TRACE_EVENT_ENUM(_name, _entries...)                           \
-       const struct lttng_enum_entry __trace_event_enum_##_name[] = {  \
-               PARAMS(_entries)                                        \
-       };
-
-/* Enumeration entry (single value) */
-#undef V
-#define V(_string)             { _string, _string, #_string}
-
-/* Enumeration entry (range) */
-#undef R
-#define R(_string, _range_start, _range_end)                           \
-       { _range_start, _range_end, #_string }
-
-#endif /* STAGE_EXPORT_ENUMS */
-
-
-/* Export named types */
-
-#ifdef STAGE_EXPORT_TYPES
-
-#undef TRACE_EVENT_TYPE___enum
-#define TRACE_EVENT_TYPE___enum(_name, _container_type)                        \
-               {                                                       \
-                 .name = #_name,                                       \
-                 .container_type = __type_integer(_container_type, 0, 0, -1, __BYTE_ORDER, 10, none), \
-                 .entries = __trace_event_enum_##_name, \
-                 .len = ARRAY_SIZE(__trace_event_enum_##_name), \
-               },
-
-/* Local declaration */
-#undef TRACE_EVENT_TYPE
-#define TRACE_EVENT_TYPE(_name, _abstract_type, args...)       \
-               TRACE_EVENT_TYPE___##_abstract_type(_name, args)
-
-#undef TRACE_EVENT_ENUM
-#define TRACE_EVENT_ENUM(_name, _entries...)
-
-#endif /* STAGE_EXPORT_TYPES */
diff --git a/probes/lttng.h b/probes/lttng.h
deleted file mode 100644 (file)
index 7d153be..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
- *
- * lttng.h
- *
- * Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- */
-
-#ifndef _LTTNG_PROBES_LTTNG_H
-#define _LTTNG_PROBES_LTTNG_H
-
-#undef PARAMS
-#define PARAMS(args...)                args
-
-#endif /* _LTTNG_PROBES_LTTNG_H */
This page took 0.165708 seconds and 4 git commands to generate.