Refactoring: tracepoint: allow explicit tracepoint instance provider name
[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
660323e6
MJ
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
46d52200 17
061fc37a
MJ
18#define lttng_ust__tp_stringify1(x) #x
19#define lttng_ust__tp_stringify(x) lttng_ust__tp_stringify1(x)
8511626a 20
7f2f82c3 21#undef LTTNG_UST_TRACEPOINT_EVENT_INSTANCE
5b675300
MD
22#define LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(_template_provider, _template_name, \
23 _provider, _name, _args)
8511626a 24
7f2f82c3
MJ
25#undef LTTNG_UST_TRACEPOINT_EVENT
26#define LTTNG_UST_TRACEPOINT_EVENT(_provider, _name, _args, _fields) \
6eddcb06
MJ
27 LTTNG_UST_TRACEPOINT_EVENT_CLASS(_provider, _name, LTTNG_UST__TP_PARAMS(_args), \
28 LTTNG_UST__TP_PARAMS(_fields)) \
5b675300 29 LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(_provider, _name, _provider, _name, \
6eddcb06 30 LTTNG_UST__TP_PARAMS(_args))
8511626a 31
8511626a 32
660323e6
MJ
33#undef LTTNG_UST_TRACEPOINT_CREATE_PROBES
34#if LTTNG_UST_COMPAT_API(0)
8511626a 35#undef TRACEPOINT_CREATE_PROBES
660323e6 36#endif
8511626a 37
c2c72dde
MJ
38#define LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ
39#if LTTNG_UST_COMPAT_API(0)
8511626a 40#define TRACEPOINT_HEADER_MULTI_READ
c2c72dde 41#endif
41858e2b 42
bb71a8ea
MJ
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
5b393d64
MJ
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
91fe3e13
MJ
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
c28c4a88
MJ
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
bb71a8ea 67#include LTTNG_UST_TRACEPOINT_INCLUDE
1c324e59
MD
68
69#include <lttng/ust-tracepoint-event.h>
70
c2c72dde
MJ
71#undef LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ
72#if LTTNG_UST_COMPAT_API(0)
8511626a 73#undef TRACEPOINT_HEADER_MULTI_READ
c2c72dde
MJ
74#endif
75
bb71a8ea
MJ
76#undef LTTNG_UST_TRACEPOINT_INCLUDE
77#if LTTNG_UST_COMPAT_API(0)
78# undef TRACEPOINT_INCLUDE
79#endif
8511626a 80
660323e6 81#define LTTNG_UST_TRACEPOINT_CREATE_PROBES
46d52200 82
a57713b0
MD
83/*
84 * Put back definitions to the state they were when defined by
85 * tracepoint.h.
86 */
cadfcbfc
MJ
87#undef LTTNG_UST_TP_ARGS
88#define LTTNG_UST_TP_ARGS(...) __VA_ARGS__
a57713b0 89
7f2f82c3
MJ
90#undef LTTNG_UST_TRACEPOINT_EVENT
91#define LTTNG_UST_TRACEPOINT_EVENT(provider, name, args, fields) \
6eddcb06
MJ
92 LTTNG_UST__DECLARE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args)) \
93 LTTNG_UST__DEFINE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args))
a57713b0 94
7f2f82c3
MJ
95#undef LTTNG_UST_TRACEPOINT_EVENT_CLASS
96#define LTTNG_UST_TRACEPOINT_EVENT_CLASS(provider, name, args, fields)
a57713b0 97
7f2f82c3 98#undef LTTNG_UST_TRACEPOINT_EVENT_INSTANCE
5b675300 99#define LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(template_provider, template_name, provider, name, args) \
6eddcb06
MJ
100 LTTNG_UST__DECLARE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args)) \
101 LTTNG_UST__DEFINE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args))
a57713b0 102
612e9ce4
MJ
103#undef LTTNG_UST_TRACEPOINT_LOGLEVEL
104#define LTTNG_UST_TRACEPOINT_LOGLEVEL(provider, name, loglevel)
a57713b0 105
dbcc2f92
MJ
106#undef LTTNG_UST_TRACEPOINT_MODEL_EMF_URI
107#define LTTNG_UST_TRACEPOINT_MODEL_EMF_URI(provider, name, uri)
a57713b0 108
660323e6 109#endif /* LTTNG_UST_TRACEPOINT_CREATE_PROBES */
This page took 0.037082 seconds and 4 git commands to generate.