Remove unneeded CONFIG_* define check
[lttng-ust.git] / include / ust / tracepoint-event.h
1 /*
2 * Copyright (C) 2009 Steven Rostedt <srostedt@redhat.com>
3 * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation;
8 * version 2.1 of the License.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 *
19 *
20 * Trace files that want to automate creationg of all tracepoints defined
21 * in their file should include this file. The following are macros that the
22 * trace file may define:
23 *
24 * TRACEPOINT_SYSTEM defines the system the tracepoint is for:
25 * < [com_company_]project_[component_] >
26 *
27 * TRACEPOINT_INCLUDE_FILE if the file name is something other than
28 * TRACEPOINT_SYSTEM.h. This macro may be defined to tell
29 * define_trace.h what file to include. Note, leave off the ".h".
30 *
31 * TRACEPOINT_INCLUDE_PATH if the path is something other than core
32 * kernel include/trace then this macro can define the path to use.
33 * Note, the path is relative to tracepoint_event.h, not the file
34 * including it. Full path names for out of tree modules must be
35 * used.
36 */
37
38 #ifdef TRACEPOINT_CREATE_PROBES
39
40 /* Prevent recursion */
41 #undef TRACEPOINT_CREATE_PROBES
42
43 #ifndef __tp_stringify
44 #define __tp_stringify_1(x...) #x
45 #define __tp_stringify(x...) __tp_stringify_1(x)
46 #endif
47
48 #undef TRACEPOINT_EVENT
49 #define TRACEPOINT_EVENT(name, proto, args, fields) \
50 _DEFINE_TRACEPOINT(name)
51
52 #undef TRACEPOINT_EVENT_INSTANCE
53 #define TRACEPOINT_EVENT_INSTANCE(template, name, proto, args) \
54 _DEFINE_TRACEPOINT(name)
55
56 #undef TRACEPOINT_EVENT_NOARGS
57 #define TRACEPOINT_EVENT_NOARGS(name, fields) \
58 _DEFINE_TRACEPOINT(name)
59
60 #undef TRACEPOINT_EVENT_INSTANCE_NOARGS
61 #define TRACEPOINT_EVENT_INSTANCE_NOARGS(template, name) \
62 _DEFINE_TRACEPOINT(name)
63
64 #undef TRACEPOINT_INCLUDE
65 #undef __TRACEPOINT_INCLUDE
66
67 #ifndef TRACEPOINT_INCLUDE_FILE
68 # define TRACEPOINT_INCLUDE_FILE TRACEPOINT_SYSTEM
69 # define UNDEF_TRACEPOINT_INCLUDE_FILE
70 #endif
71
72 #ifndef TRACEPOINT_INCLUDE_PATH
73 # define __TRACEPOINT_INCLUDE(system) <tracepoint/system.h>
74 # define UNDEF_TRACEPOINT_INCLUDE_PATH
75 #else
76 # define __TRACEPOINT_INCLUDE(system) \
77 __tp_stringify(TRACEPOINT_INCLUDE_PATH/system.h)
78 #endif
79
80 # define TRACEPOINT_INCLUDE(system) __TRACEPOINT_INCLUDE(system)
81
82 /* Let the trace headers be reread */
83 #define TRACEPOINT_HEADER_MULTI_READ
84
85 #include TRACEPOINT_INCLUDE(TRACEPOINT_INCLUDE_FILE)
86
87 #include <ust/lttng-tracepoint-event.h>
88
89 #undef TRACEPOINT_EVENT
90 #undef TRACEPOINT_EVENT_CLASS
91 #undef TRACEPOINT_EVENT_INSTANCE
92 #undef TRACEPOINT_EVENT_NOARGS
93 #undef TRACEPOINT_EVENT_CLASS_NOARGS
94 #undef TRACEPOINT_EVENT_INSTANCE_NOARGS
95 #undef TRACEPOINT_HEADER_MULTI_READ
96
97 /* Only undef what we defined in this file */
98 #ifdef UNDEF_TRACEPOINT_INCLUDE_FILE
99 # undef TRACEPOINT_INCLUDE_FILE
100 # undef UNDEF_TRACEPOINT_INCLUDE_FILE
101 #endif
102
103 #ifdef UNDEF_TRACEPOINT_INCLUDE_PATH
104 # undef TRACEPOINT_INCLUDE_PATH
105 # undef UNDEF_TRACEPOINT_INCLUDE_PATH
106 #endif
107
108 /* We may be processing more files */
109 #define TRACEPOINT_CREATE_PROBES
110
111 #endif /* TRACEPOINT_CREATE_PROBES */
This page took 0.034428 seconds and 5 git commands to generate.