Move to kernel style SPDX license identifiers
[lttng-ust.git] / include / lttng / tracepoint-event.h
CommitLineData
8511626a 1/*
c0c0989a 2 * SPDX-License-Identifier: MIT
8511626a 3 *
c0c0989a 4 * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
8511626a
MD
5 */
6
46d52200
ZT
7#ifdef TRACEPOINT_CREATE_PROBES
8
8511626a
MD
9#define __tp_stringify1(x) #x
10#define __tp_stringify(x) __tp_stringify1(x)
11
12#undef TRACEPOINT_EVENT_INSTANCE
deb6e540 13#define TRACEPOINT_EVENT_INSTANCE(_provider, _template, _name, _args)
8511626a
MD
14
15#undef TRACEPOINT_EVENT
16#define TRACEPOINT_EVENT(_provider, _name, _args, _fields) \
7f0aeeba
MD
17 TRACEPOINT_EVENT_CLASS(_provider, _name, _TP_PARAMS(_args), \
18 _TP_PARAMS(_fields)) \
19 TRACEPOINT_EVENT_INSTANCE(_provider, _name, _name, \
20 _TP_PARAMS(_args))
8511626a 21
8511626a
MD
22
23#undef TRACEPOINT_CREATE_PROBES
24
25#define TRACEPOINT_HEADER_MULTI_READ
41858e2b
MD
26
27/*
28 * LTTng-UST 2.0 expects TRACEPOINT_INCLUDE_FILE, but this approach has
29 * the unwanted side-effect of expanding any macro name found within
30 * TRACEPOINT_INCLUDE_FILE.
31 *
32 * Starting from LTTng-UST 2.1, we expect the TRACEPOINT_INCLUDE to be
33 * defined by probes as a string. We still check for
34 * TRACEPOINT_INCLUDE_FILE for API backward compatibility.
35 */
36#ifdef TRACEPOINT_INCLUDE_FILE
37#define TRACEPOINT_INCLUDE __tp_stringify(TRACEPOINT_INCLUDE_FILE)
38#endif
39
8511626a 40#include TRACEPOINT_INCLUDE
1c324e59
MD
41
42#include <lttng/ust-tracepoint-event.h>
43
8511626a 44#undef TRACEPOINT_HEADER_MULTI_READ
41858e2b
MD
45#undef TRACEPOINT_INCLUDE_FILE
46#undef TRACEPOINT_INCLUDE
8511626a 47
46d52200
ZT
48#define TRACEPOINT_CREATE_PROBES
49
a57713b0
MD
50/*
51 * Put back definitions to the state they were when defined by
52 * tracepoint.h.
53 */
54#undef TP_ARGS
55#define TP_ARGS(...) __VA_ARGS__
56
57#undef TRACEPOINT_EVENT
58#define TRACEPOINT_EVENT(provider, name, args, fields) \
59 _DECLARE_TRACEPOINT(provider, name, _TP_PARAMS(args)) \
60 _DEFINE_TRACEPOINT(provider, name, _TP_PARAMS(args))
61
62#undef TRACEPOINT_EVENT_CLASS
63#define TRACEPOINT_EVENT_CLASS(provider, name, args, fields)
64
65#undef TRACEPOINT_EVENT_INSTANCE
66#define TRACEPOINT_EVENT_INSTANCE(provider, _template, name, args) \
67 _DECLARE_TRACEPOINT(provider, name, _TP_PARAMS(args)) \
68 _DEFINE_TRACEPOINT(provider, name, _TP_PARAMS(args))
69
70#undef TRACEPOINT_LOGLEVEL
71#define TRACEPOINT_LOGLEVEL(provider, name, loglevel)
72
73#undef TRACEPOINT_MODEL_EMF_URI
74#define TRACEPOINT_MODEL_EMF_URI(provider, name, uri)
75
46d52200 76#endif /* TRACEPOINT_CREATE_PROBES */
This page took 0.030784 seconds and 4 git commands to generate.