Basic tracepoint event implementation
[lttng-ust.git] / include / lttng / tracepoint-event.h
1 /*
2 * Copyright (c) 2011 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 *
4 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
5 * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
6 *
7 * Permission is hereby granted to use or copy this program
8 * for any purpose, provided the above notices are retained on all copies.
9 * Permission to modify the code and to distribute modified code is granted,
10 * provided the above notices are retained, and a notice that the code was
11 * modified is included with the above copyright notice.
12 */
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 #ifdef TRACEPOINT_CREATE_PROBES
19
20 #define __tp_stringify1(x) #x
21 #define __tp_stringify(x) __tp_stringify1(x)
22
23 #undef TRACEPOINT_EVENT_INSTANCE
24 #define TRACEPOINT_EVENT_INSTANCE(_provider, _template, _name, _args) \
25 _DEFINE_TRACEPOINT(provider, name)
26
27 #undef TRACEPOINT_EVENT
28 #define TRACEPOINT_EVENT(_provider, _name, _args, _fields) \
29 TRACEPOINT_EVENT_INSTANCE(_provider, _name, _name, _TP_PARAMS(_args))
30
31 #define TRACEPOINT_INCLUDE __tp_stringify(TRACEPOINT_INCLUDE_FILE)
32
33 #undef TRACEPOINT_CREATE_PROBES
34
35 #define TRACEPOINT_HEADER_MULTI_READ
36 #include TRACEPOINT_INCLUDE
37 #undef TRACEPOINT_HEADER_MULTI_READ
38
39 #define TRACEPOINT_CREATE_PROBES
40
41 #endif /* TRACEPOINT_CREATE_PROBES */
42
43 #ifdef __cplusplus
44 }
45 #endif
This page took 0.034709 seconds and 5 git commands to generate.