Refactoring: tracepoint: allow explicit tracepoint instance provider name
[lttng-ust.git] / include / lttng / tracepoint-event.h
1 /*
2 * SPDX-License-Identifier: MIT
3 *
4 * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
5 */
6
7 #include <lttng/ust-api-compat.h>
8
9
10 #if LTTNG_UST_COMPAT_API(0)
11 # if defined(TRACEPOINT_CREATE_PROBES) && !defined(LTTNG_UST_TRACEPOINT_CREATE_PROBES)
12 # define LTTNG_UST_TRACEPOINT_CREATE_PROBES
13 # endif
14 #endif /* #if LTTNG_UST_COMPAT_API(0) */
15
16 #ifdef LTTNG_UST_TRACEPOINT_CREATE_PROBES
17
18 #define lttng_ust__tp_stringify1(x) #x
19 #define lttng_ust__tp_stringify(x) lttng_ust__tp_stringify1(x)
20
21 #undef LTTNG_UST_TRACEPOINT_EVENT_INSTANCE
22 #define LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(_template_provider, _template_name, \
23 _provider, _name, _args)
24
25 #undef LTTNG_UST_TRACEPOINT_EVENT
26 #define LTTNG_UST_TRACEPOINT_EVENT(_provider, _name, _args, _fields) \
27 LTTNG_UST_TRACEPOINT_EVENT_CLASS(_provider, _name, LTTNG_UST__TP_PARAMS(_args), \
28 LTTNG_UST__TP_PARAMS(_fields)) \
29 LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(_provider, _name, _provider, _name, \
30 LTTNG_UST__TP_PARAMS(_args))
31
32
33 #undef LTTNG_UST_TRACEPOINT_CREATE_PROBES
34 #if LTTNG_UST_COMPAT_API(0)
35 #undef TRACEPOINT_CREATE_PROBES
36 #endif
37
38 #define LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ
39 #if LTTNG_UST_COMPAT_API(0)
40 #define TRACEPOINT_HEADER_MULTI_READ
41 #endif
42
43 #if LTTNG_UST_COMPAT_API(0)
44 # if defined(TRACEPOINT_INCLUDE) && !defined(LTTNG_UST_TRACEPOINT_INCLUDE)
45 # define LTTNG_UST_TRACEPOINT_INCLUDE TRACEPOINT_INCLUDE
46 # endif
47 #endif /* #if LTTNG_UST_COMPAT_API(0) */
48
49 #if LTTNG_UST_COMPAT_API(0)
50 # if defined(TRACEPOINT_PROVIDER) && !defined(LTTNG_UST_TRACEPOINT_PROVIDER)
51 # define LTTNG_UST_TRACEPOINT_PROVIDER TRACEPOINT_PROVIDER
52 # endif
53 #endif /* #if LTTNG_UST_COMPAT_API(0) */
54
55 #if LTTNG_UST_COMPAT_API(0)
56 # if defined(TP_SESSION_CHECK) && !defined(LTTNG_UST_TP_SESSION_CHECK)
57 # define LTTNG_UST_TP_SESSION_CHECK
58 # endif
59 #endif /* #if LTTNG_UST_COMPAT_API(0) */
60
61 #if LTTNG_UST_COMPAT_API(0)
62 # if defined(TP_IP_PARAM) && !defined(LTTNG_UST_TP_IP_PARAM)
63 # define LTTNG_UST_TP_IP_PARAM
64 # endif
65 #endif /* #if LTTNG_UST_COMPAT_API(0) */
66
67 #include LTTNG_UST_TRACEPOINT_INCLUDE
68
69 #include <lttng/ust-tracepoint-event.h>
70
71 #undef LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ
72 #if LTTNG_UST_COMPAT_API(0)
73 #undef TRACEPOINT_HEADER_MULTI_READ
74 #endif
75
76 #undef LTTNG_UST_TRACEPOINT_INCLUDE
77 #if LTTNG_UST_COMPAT_API(0)
78 # undef TRACEPOINT_INCLUDE
79 #endif
80
81 #define LTTNG_UST_TRACEPOINT_CREATE_PROBES
82
83 /*
84 * Put back definitions to the state they were when defined by
85 * tracepoint.h.
86 */
87 #undef LTTNG_UST_TP_ARGS
88 #define LTTNG_UST_TP_ARGS(...) __VA_ARGS__
89
90 #undef LTTNG_UST_TRACEPOINT_EVENT
91 #define LTTNG_UST_TRACEPOINT_EVENT(provider, name, args, fields) \
92 LTTNG_UST__DECLARE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args)) \
93 LTTNG_UST__DEFINE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args))
94
95 #undef LTTNG_UST_TRACEPOINT_EVENT_CLASS
96 #define LTTNG_UST_TRACEPOINT_EVENT_CLASS(provider, name, args, fields)
97
98 #undef LTTNG_UST_TRACEPOINT_EVENT_INSTANCE
99 #define LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(template_provider, template_name, provider, name, args) \
100 LTTNG_UST__DECLARE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args)) \
101 LTTNG_UST__DEFINE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args))
102
103 #undef LTTNG_UST_TRACEPOINT_LOGLEVEL
104 #define LTTNG_UST_TRACEPOINT_LOGLEVEL(provider, name, loglevel)
105
106 #undef LTTNG_UST_TRACEPOINT_MODEL_EMF_URI
107 #define LTTNG_UST_TRACEPOINT_MODEL_EMF_URI(provider, name, uri)
108
109 #endif /* LTTNG_UST_TRACEPOINT_CREATE_PROBES */
This page took 0.030606 seconds and 4 git commands to generate.