Commit | Line | Data |
---|---|---|
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 */ |