X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=probes%2Fdefine_trace.h;h=28125edd3d2fbece21aa0e93cda86a4c3b712042;hb=b63af41cb645dcf8513e997714e47fafcb4492b4;hp=3c9a46784abc5e3efb3d34d986775fd95cae1801;hpb=17baffe29814f2508556e498ab8c41a192e76b67;p=lttng-modules.git diff --git a/probes/define_trace.h b/probes/define_trace.h index 3c9a4678..28125edd 100644 --- a/probes/define_trace.h +++ b/probes/define_trace.h @@ -2,9 +2,21 @@ * define_trace.h * * Copyright (C) 2009 Steven Rostedt - * Copyright (C) 2010-2011 Mathieu Desnoyers + * Copyright (C) 2010-2012 Mathieu Desnoyers * - * Dual LGPL v2.1/GPL v2 license. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; only + * version 2.1 of the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* @@ -30,50 +42,69 @@ #undef CREATE_TRACE_POINTS #include -/* - * module.h includes tracepoints, and because ftrace.h - * pulls in module.h: - * trace/ftrace.h -> linux/ftrace_event.h -> linux/perf_event.h -> - * linux/ftrace.h -> linux/module.h - * we must include module.h here before we play with any of - * the TRACE_EVENT() macros, otherwise the tracepoints included - * by module.h may break the build. - */ -#include -#undef TRACE_EVENT -#define TRACE_EVENT(name, proto, args, tstruct, assign, print) \ - DEFINE_TRACE(name) +#undef LTTNG_TRACEPOINT_EVENT_MAP +#define LTTNG_TRACEPOINT_EVENT_MAP(name, map, proto, args, tstruct, assign, print) + +#undef LTTNG_TRACEPOINT_EVENT_MAP_NOARGS +#define LTTNG_TRACEPOINT_EVENT_MAP_NOARGS(name, map, tstruct, assign, print) -#undef TRACE_EVENT_CONDITION -#define TRACE_EVENT_CONDITION(name, proto, args, cond, tstruct, assign, print) \ - TRACE_EVENT(name, \ +#undef LTTNG_TRACEPOINT_EVENT_CONDITION_MAP +#define LTTNG_TRACEPOINT_EVENT_CONDITION_MAP(name, map, proto, args, cond, tstruct, assign, print) \ + LTTNG_TRACEPOINT_EVENT(name, \ PARAMS(proto), \ PARAMS(args), \ PARAMS(tstruct), \ PARAMS(assign), \ PARAMS(print)) -#undef TRACE_EVENT_FN -#define TRACE_EVENT_FN(name, proto, args, tstruct, \ - assign, print, reg, unreg) \ - DEFINE_TRACE_FN(name, reg, unreg) +#undef LTTNG_TRACEPOINT_EVENT_FN_MAP +#define LTTNG_TRACEPOINT_EVENT_FN_MAP(name, map, proto, args, tstruct, \ + assign, print, reg, unreg) -#undef DEFINE_EVENT -#define DEFINE_EVENT(template, name, proto, args) \ - DEFINE_TRACE(name) +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP +#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(template, name, map, proto, args) -#undef DEFINE_EVENT_PRINT -#define DEFINE_EVENT_PRINT(template, name, proto, args, print) \ - DEFINE_TRACE(name) +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_PRINT_MAP +#define LTTNG_TRACEPOINT_EVENT_INSTANCE_PRINT_MAP(template, name, map, proto, args, print) -#undef DEFINE_EVENT_CONDITION -#define DEFINE_EVENT_CONDITION(template, name, proto, args, cond) \ - DEFINE_EVENT(template, name, PARAMS(proto), PARAMS(args)) +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_CONDITION_MAP +#define LTTNG_TRACEPOINT_EVENT_INSTANCE_CONDITION_MAP(template, name, map, proto, args, cond) -#undef DECLARE_TRACE -#define DECLARE_TRACE(name, proto, args) \ - DEFINE_TRACE(name) +#undef LTTNG_TRACEPOINT_EVENT +#define LTTNG_TRACEPOINT_EVENT(name, proto, args, tstruct, assign, print) + +#undef LTTNG_TRACEPOINT_EVENT_CONDITION +#define LTTNG_TRACEPOINT_EVENT_CONDITION(name, proto, args, cond, tstruct, assign, print) \ + LTTNG_TRACEPOINT_EVENT(name, \ + PARAMS(proto), \ + PARAMS(args), \ + PARAMS(tstruct), \ + PARAMS(assign), \ + PARAMS(print)) + +#undef LTTNG_TRACEPOINT_EVENT_CODE +#define LTTNG_TRACEPOINT_EVENT_CODE(name, proto, args, _locvar, _code, tstruct, assign, print) + +#undef LTTNG_TRACEPOINT_EVENT_FN +#define LTTNG_TRACEPOINT_EVENT_FN(name, proto, args, tstruct, \ + assign, print, reg, unreg) + +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE +#define LTTNG_TRACEPOINT_EVENT_INSTANCE(template, name, proto, args) + +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS +#define LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS(template, name) + +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS +#define LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS(template, name, map) + +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_PRINT +#define LTTNG_TRACEPOINT_EVENT_INSTANCE_PRINT(template, name, proto, args, print) + +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_CONDITION +#define LTTNG_TRACEPOINT_EVENT_INSTANCE_CONDITION(template, name, proto, args, cond) \ + LTTNG_TRACEPOINT_EVENT_INSTANCE(template, name, PARAMS(proto), PARAMS(args)) #undef TRACE_INCLUDE #undef __TRACE_INCLUDE @@ -105,15 +136,24 @@ #include "lttng-events.h" #endif -#undef TRACE_EVENT -#undef TRACE_EVENT_FN -#undef TRACE_EVENT_CONDITION -#undef DECLARE_EVENT_CLASS -#undef DEFINE_EVENT -#undef DEFINE_EVENT_PRINT -#undef DEFINE_EVENT_CONDITION +#undef LTTNG_TRACEPOINT_EVENT +#undef LTTNG_TRACEPOINT_EVENT_FN +#undef LTTNG_TRACEPOINT_EVENT_CONDITION +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_PRINT +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_CONDITION +#undef LTTNG_TRACEPOINT_EVENT_MAP +#undef LTTNG_TRACEPOINT_EVENT_FN_MAP +#undef LTTNG_TRACEPOINT_EVENT_CONDITION_MAP +#undef LTTNG_TRACEPOINT_EVENT_CLASS +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_PRINT_MAP +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_CONDITION_MAP +#undef LTTNG_TRACEPOINT_EVENT_CODE +#undef LTTNG_TRACEPOINT_EVENT_MAP_NOARGS +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_NOARGS +#undef LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP_NOARGS #undef TRACE_HEADER_MULTI_READ -#undef DECLARE_TRACE /* Only undef what we defined in this file */ #ifdef UNDEF_TRACE_INCLUDE_FILE @@ -126,6 +166,11 @@ # undef UNDEF_TRACE_INCLUDE_PATH #endif +/* + * We want to re-include lttng-tracepoint-event.h for a following probe. + */ +#undef LTTNG_TRACEPOINT_EVENT_H + /* We may be processing more files */ #define CREATE_TRACE_POINTS