Tracepoint API namespacing '__tp_stringify'
[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
MJ
21#undef LTTNG_UST_TRACEPOINT_EVENT_INSTANCE
22#define LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(_provider, _template, _name, _args)
8511626a 23
7f2f82c3
MJ
24#undef LTTNG_UST_TRACEPOINT_EVENT
25#define LTTNG_UST_TRACEPOINT_EVENT(_provider, _name, _args, _fields) \
6eddcb06
MJ
26 LTTNG_UST_TRACEPOINT_EVENT_CLASS(_provider, _name, LTTNG_UST__TP_PARAMS(_args), \
27 LTTNG_UST__TP_PARAMS(_fields)) \
7f2f82c3 28 LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(_provider, _name, _name, \
6eddcb06 29 LTTNG_UST__TP_PARAMS(_args))
8511626a 30
8511626a 31
660323e6
MJ
32#undef LTTNG_UST_TRACEPOINT_CREATE_PROBES
33#if LTTNG_UST_COMPAT_API(0)
8511626a 34#undef TRACEPOINT_CREATE_PROBES
660323e6 35#endif
8511626a 36
c2c72dde
MJ
37#define LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ
38#if LTTNG_UST_COMPAT_API(0)
8511626a 39#define TRACEPOINT_HEADER_MULTI_READ
c2c72dde 40#endif
41858e2b 41
bb71a8ea
MJ
42#if LTTNG_UST_COMPAT_API(0)
43# if defined(TRACEPOINT_INCLUDE) && !defined(LTTNG_UST_TRACEPOINT_INCLUDE)
44# define LTTNG_UST_TRACEPOINT_INCLUDE TRACEPOINT_INCLUDE
45# endif
46#endif /* #if LTTNG_UST_COMPAT_API(0) */
47
5b393d64
MJ
48#if LTTNG_UST_COMPAT_API(0)
49# if defined(TRACEPOINT_PROVIDER) && !defined(LTTNG_UST_TRACEPOINT_PROVIDER)
50# define LTTNG_UST_TRACEPOINT_PROVIDER TRACEPOINT_PROVIDER
51# endif
52#endif /* #if LTTNG_UST_COMPAT_API(0) */
53
bb71a8ea 54#include LTTNG_UST_TRACEPOINT_INCLUDE
1c324e59
MD
55
56#include <lttng/ust-tracepoint-event.h>
57
c2c72dde
MJ
58#undef LTTNG_UST_TRACEPOINT_HEADER_MULTI_READ
59#if LTTNG_UST_COMPAT_API(0)
8511626a 60#undef TRACEPOINT_HEADER_MULTI_READ
c2c72dde
MJ
61#endif
62
bb71a8ea
MJ
63#undef LTTNG_UST_TRACEPOINT_INCLUDE
64#if LTTNG_UST_COMPAT_API(0)
65# undef TRACEPOINT_INCLUDE
66#endif
8511626a 67
660323e6 68#define LTTNG_UST_TRACEPOINT_CREATE_PROBES
46d52200 69
a57713b0
MD
70/*
71 * Put back definitions to the state they were when defined by
72 * tracepoint.h.
73 */
cadfcbfc
MJ
74#undef LTTNG_UST_TP_ARGS
75#define LTTNG_UST_TP_ARGS(...) __VA_ARGS__
a57713b0 76
7f2f82c3
MJ
77#undef LTTNG_UST_TRACEPOINT_EVENT
78#define LTTNG_UST_TRACEPOINT_EVENT(provider, name, args, fields) \
6eddcb06
MJ
79 LTTNG_UST__DECLARE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args)) \
80 LTTNG_UST__DEFINE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args))
a57713b0 81
7f2f82c3
MJ
82#undef LTTNG_UST_TRACEPOINT_EVENT_CLASS
83#define LTTNG_UST_TRACEPOINT_EVENT_CLASS(provider, name, args, fields)
a57713b0 84
7f2f82c3
MJ
85#undef LTTNG_UST_TRACEPOINT_EVENT_INSTANCE
86#define LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(provider, _template, name, args) \
6eddcb06
MJ
87 LTTNG_UST__DECLARE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args)) \
88 LTTNG_UST__DEFINE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args))
a57713b0 89
612e9ce4
MJ
90#undef LTTNG_UST_TRACEPOINT_LOGLEVEL
91#define LTTNG_UST_TRACEPOINT_LOGLEVEL(provider, name, loglevel)
a57713b0 92
dbcc2f92
MJ
93#undef LTTNG_UST_TRACEPOINT_MODEL_EMF_URI
94#define LTTNG_UST_TRACEPOINT_MODEL_EMF_URI(provider, name, uri)
a57713b0 95
660323e6 96#endif /* LTTNG_UST_TRACEPOINT_CREATE_PROBES */
This page took 0.036397 seconds and 4 git commands to generate.