nobase_include_HEADERS = \
ust/marker.h \
ust/tracepoint.h \
- ust/define_trace.h \
- ust/ust_trace.h \
- ust/tracectl.h \
- ust/config.h \
- ust/stringify.h \
- ust/ustctl.h \
- ust/ustconsumer.h
+ ust/tracepoint_event.h \
+ ust/probe.h
noinst_HEADERS = \
share.h \
usterr.h \
ust_snprintf.h \
usterr_signal_safe.h \
+ ust/config.h \
ust/core.h \
ust/marker-internal.h \
ust/tracepoint-internal.h \
ust/clock.h \
- ust/probe.h \
+ ust/probe-internal.h \
ust/processor.h \
ust/kcompat/kcompat.h \
ust/kcompat/jhash.h \
ust/kcompat/compiler.h \
ust/kcompat/simple.h \
- ust/kcompat/types.h
+ ust/kcompat/types.h \
+ ust/tracectl.h \
+ ust/ustctl.h \
+ ust/ustconsumer.h \
+ ust/stringify.h
+++ /dev/null
-/*
- * Copyright (C) 2009 Steven Rostedt <srostedt@redhat.com>
- * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *
- * 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;
- * 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
- *
- *
- * Trace files that want to automate creationg of all tracepoints defined
- * in their file should include this file. The following are macros that the
- * trace file may define:
- *
- * TRACE_SYSTEM defines the system the tracepoint is for
- *
- * TRACE_INCLUDE_FILE if the file name is something other than TRACE_SYSTEM.h
- * This macro may be defined to tell define_trace.h what file to include.
- * Note, leave off the ".h".
- *
- * TRACE_INCLUDE_PATH if the path is something other than core kernel include/trace
- * then this macro can define the path to use. Note, the path is relative to
- * define_trace.h, not the file including it. Full path names for out of tree
- * modules must be used.
- */
-
-#ifdef TRACEPOINT_CREATE_PROBES
-
-/* Prevent recursion */
-#undef TRACEPOINT_CREATE_PROBES
-
-#include <ust/stringify.h>
-
-#undef TRACEPOINT_EVENT
-#define TRACEPOINT_EVENT(name, proto, args, fields) \
- _DEFINE_TRACEPOINT(name)
-
-#undef TRACEPOINT_EVENT_INSTANCE
-#define TRACEPOINT_EVENT_INSTANCE(template, name, proto, args) \
- _DEFINE_TRACEPOINT(name)
-
-#undef TRACEPOINT_EVENT_NOARGS
-#define TRACEPOINT_EVENT_NOARGS(name, fields) \
- _DEFINE_TRACEPOINT(name)
-
-#undef TRACEPOINT_EVENT_INSTANCE_NOARGS
-#define TRACEPOINT_EVENT_INSTANCE_NOARGS(template, name) \
- _DEFINE_TRACEPOINT(name)
-
-#undef TRACE_INCLUDE
-#undef __TRACE_INCLUDE
-
-#ifndef TRACE_INCLUDE_FILE
-# define TRACE_INCLUDE_FILE TRACE_SYSTEM
-# define UNDEF_TRACE_INCLUDE_FILE
-#endif
-
-#ifndef TRACE_INCLUDE_PATH
-# define __TRACE_INCLUDE(system) <trace/events/system.h>
-# define UNDEF_TRACE_INCLUDE_PATH
-#else
-# define __TRACE_INCLUDE(system) __stringify(TRACE_INCLUDE_PATH/system.h)
-#endif
-
-# define TRACE_INCLUDE(system) __TRACE_INCLUDE(system)
-
-/* Let the trace headers be reread */
-#define TRACE_HEADER_MULTI_READ
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
-
-#ifndef CONFIG_NO_EVENT_TRACING
-#include <ust/ust_trace.h>
-#endif
-
-#undef TRACEPOINT_EVENT
-#undef TRACEPOINT_EVENT_CLASS
-#undef TRACEPOINT_EVENT_INSTANCE
-#undef TRACEPOINT_EVENT_NOARGS
-#undef TRACEPOINT_EVENT_CLASS_NOARGS
-#undef TRACEPOINT_EVENT_INSTANCE_NOARGS
-#undef TRACE_HEADER_MULTI_READ
-
-/* Only undef what we defined in this file */
-#ifdef UNDEF_TRACE_INCLUDE_FILE
-# undef TRACE_INCLUDE_FILE
-# undef UNDEF_TRACE_INCLUDE_FILE
-#endif
-
-#ifdef UNDEF_TRACE_INCLUDE_PATH
-# undef TRACE_INCLUDE_PATH
-# undef UNDEF_TRACE_INCLUDE_PATH
-#endif
-
-/* We may be processing more files */
-#define TRACEPOINT_CREATE_PROBES
-
-#endif /* TRACEPOINT_CREATE_PROBES */
--- /dev/null
+#ifndef _UST_PROBE_H
+#define _UST_PROBE_H
+
+/*
+ * Copyright (C) 2009 Pierre-Marc Fournier
+ *
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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
+ *
+ */
+
+/* Maximum number of callbacks per marker */
+#define LTT_NR_CALLBACKS 10
+
+struct ltt_serialize_closure;
+struct ust_buffer;
+
+typedef size_t (*ltt_serialize_cb)(struct ust_buffer *buf, size_t buf_offset,
+ struct ltt_serialize_closure *closure,
+ void *serialize_private,
+ unsigned int stack_pos_ctx,
+ int *largest_align,
+ const char *fmt, va_list *args);
+
+struct ltt_available_probe {
+ const char *name; /* probe name */
+ const char *format;
+ ust_marker_probe_func *probe_func;
+ ltt_serialize_cb callbacks[LTT_NR_CALLBACKS];
+ struct cds_list_head node; /* registered probes list */
+};
+
+extern int ltt_probe_register(struct ltt_available_probe *pdata);
+extern int ltt_probe_unregister(struct ltt_available_probe *pdata);
+extern int ltt_ust_marker_connect(const char *channel, const char *mname,
+ const char *pname);
+extern int ltt_ust_marker_disconnect(const char *channel, const char *mname,
+ const char *pname);
+
+#endif /* _UST_PROBE_H */
-#ifndef _UST_PROBE_H
-#define _UST_PROBE_H
-
/*
- * Copyright (C) 2009 Pierre-Marc Fournier
+ * Copyright (C) 2009 Steven Rostedt <srostedt@redhat.com>
+ * Copyright (C) 2010 Nils Carlson <nils.carlson@ericsson.com>
+ * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*
* 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; either
- * version 2.1 of the License, or (at your option) any later version.
+ * License as published by the Free Software Foundation;
+ * 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
* 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
- *
*/
-/* Maximum number of callbacks per marker */
-#define LTT_NR_CALLBACKS 10
-
-struct ltt_serialize_closure;
-struct ust_buffer;
-
-typedef size_t (*ltt_serialize_cb)(struct ust_buffer *buf, size_t buf_offset,
- struct ltt_serialize_closure *closure,
- void *serialize_private,
- unsigned int stack_pos_ctx,
- int *largest_align,
- const char *fmt, va_list *args);
-
-struct ltt_available_probe {
- const char *name; /* probe name */
- const char *format;
- ust_marker_probe_func *probe_func;
- ltt_serialize_cb callbacks[LTT_NR_CALLBACKS];
- struct cds_list_head node; /* registered probes list */
-};
-
-extern int ltt_probe_register(struct ltt_available_probe *pdata);
-extern int ltt_probe_unregister(struct ltt_available_probe *pdata);
-extern int ltt_ust_marker_connect(const char *channel, const char *mname,
- const char *pname);
-extern int ltt_ust_marker_disconnect(const char *channel, const char *mname,
- const char *pname);
-
-#endif /* _UST_PROBE_H */
+/*
+ * This whole file is currently a dummy.
+ */
+
+#include <stdio.h>
+
+#undef TRACEPOINT_EVENT
+#define TRACEPOINT_EVENT(name, proto, args, fields) \
+ TRACEPOINT_EVENT_CLASS(name, \
+ TP_PARAMS(proto), \
+ TP_PARAMS(args), \
+ TP_PARAMS(fields)); \
+ TRACEPOINT_EVENT_INSTANCE(name, name, TP_PARAMS(proto), \
+ TP_PARAMS(args));
+
+#undef TRACEPOINT_EVENT_NOARGS
+#define TRACEPOINT_EVENT_NOARGS(name, fields) \
+ TRACEPOINT_EVENT_CLASS_NOARGS(name, \
+ TP_PARAMS(fields)); \
+ TRACEPOINT_EVENT_INSTANCE_NOARGS(name, name);
+
+#undef tp_field
+#define tp_field(type, item, src) type item;
+
+#undef TP_FIELDS
+#define TP_FIELDS(args...) args
+
+#undef TRACEPOINT_EVENT_INSTANCE
+#define TRACEPOINT_EVENT_INSTANCE(template, name, proto, args)
+
+#undef TRACEPOINT_EVENT_INSTANCE_NOARGS
+#define TRACEPOINT_EVENT_INSTANCE_NOARGS(template, name)
+
+#undef TRACEPOINT_EVENT_CLASS
+#define TRACEPOINT_EVENT_CLASS(name, proto, args, fields) \
+ struct trace_raw_##name { \
+ fields \
+ }; \
+ static void trace_printf_##name(void *dummy, proto) \
+ { \
+ } \
+ struct trace_event __event_##name = { \
+ __tpstrtab_##name, \
+ }; \
+ static struct trace_event * const __event_ptrs_##name \
+ __attribute__((used, section("__trace_events_ptrs"))) = \
+ &__event_##name; \
+ \
+ static void __attribute__((constructor)) init_##name() \
+ { \
+ void *dummy = NULL; \
+ __register_tracepoint(name, trace_printf_##name, dummy);\
+ }
+
+#undef TRACEPOINT_EVENT_CLASS_NOARGS
+#define TRACEPOINT_EVENT_CLASS_NOARGS(name, fields) \
+ struct trace_raw_##name { \
+ fields \
+ }; \
+ static void trace_printf_##name(void *dummy) \
+ { \
+ } \
+ struct trace_event __event_##name = { \
+ __tpstrtab_##name, \
+ }; \
+ static struct trace_event * const __event_ptrs_##name \
+ __attribute__((used, section("__trace_events_ptrs"))) = \
+ &__event_##name; \
+ \
+ static void __attribute__((constructor)) init_##name() \
+ { \
+ void *dummy = NULL; \
+ __register_tracepoint(name, trace_printf_##name, dummy);\
+ }
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
--- /dev/null
+/*
+ * Copyright (C) 2009 Steven Rostedt <srostedt@redhat.com>
+ * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ *
+ * 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;
+ * 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
+ *
+ *
+ * Trace files that want to automate creationg of all tracepoints defined
+ * in their file should include this file. The following are macros that the
+ * trace file may define:
+ *
+ * TRACE_SYSTEM defines the system the tracepoint is for
+ *
+ * TRACE_INCLUDE_FILE if the file name is something other than TRACE_SYSTEM.h
+ * This macro may be defined to tell define_trace.h what file to include.
+ * Note, leave off the ".h".
+ *
+ * TRACE_INCLUDE_PATH if the path is something other than core kernel include/trace
+ * then this macro can define the path to use. Note, the path is relative to
+ * tracepoint_event.h, not the file including it. Full path names for out of tree
+ * modules must be used.
+ */
+
+#ifdef TRACEPOINT_CREATE_PROBES
+
+/* Prevent recursion */
+#undef TRACEPOINT_CREATE_PROBES
+
+#ifndef __tp_stringify
+#define __tp_stringify_1(x...) #x
+#define __tp_stringify(x...) __tp_stringify_1(x)
+#endif
+
+#undef TRACEPOINT_EVENT
+#define TRACEPOINT_EVENT(name, proto, args, fields) \
+ _DEFINE_TRACEPOINT(name)
+
+#undef TRACEPOINT_EVENT_INSTANCE
+#define TRACEPOINT_EVENT_INSTANCE(template, name, proto, args) \
+ _DEFINE_TRACEPOINT(name)
+
+#undef TRACEPOINT_EVENT_NOARGS
+#define TRACEPOINT_EVENT_NOARGS(name, fields) \
+ _DEFINE_TRACEPOINT(name)
+
+#undef TRACEPOINT_EVENT_INSTANCE_NOARGS
+#define TRACEPOINT_EVENT_INSTANCE_NOARGS(template, name) \
+ _DEFINE_TRACEPOINT(name)
+
+#undef TRACE_INCLUDE
+#undef __TRACE_INCLUDE
+
+#ifndef TRACE_INCLUDE_FILE
+# define TRACE_INCLUDE_FILE TRACE_SYSTEM
+# define UNDEF_TRACE_INCLUDE_FILE
+#endif
+
+#ifndef TRACE_INCLUDE_PATH
+# define __TRACE_INCLUDE(system) <trace/events/system.h>
+# define UNDEF_TRACE_INCLUDE_PATH
+#else
+# define __TRACE_INCLUDE(system) __tp_stringify(TRACE_INCLUDE_PATH/system.h)
+#endif
+
+# define TRACE_INCLUDE(system) __TRACE_INCLUDE(system)
+
+/* Let the trace headers be reread */
+#define TRACE_HEADER_MULTI_READ
+
+#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+
+#ifndef CONFIG_NO_EVENT_TRACING
+#include <ust/probe.h>
+#endif
+
+#undef TRACEPOINT_EVENT
+#undef TRACEPOINT_EVENT_CLASS
+#undef TRACEPOINT_EVENT_INSTANCE
+#undef TRACEPOINT_EVENT_NOARGS
+#undef TRACEPOINT_EVENT_CLASS_NOARGS
+#undef TRACEPOINT_EVENT_INSTANCE_NOARGS
+#undef TRACE_HEADER_MULTI_READ
+
+/* Only undef what we defined in this file */
+#ifdef UNDEF_TRACE_INCLUDE_FILE
+# undef TRACE_INCLUDE_FILE
+# undef UNDEF_TRACE_INCLUDE_FILE
+#endif
+
+#ifdef UNDEF_TRACE_INCLUDE_PATH
+# undef TRACE_INCLUDE_PATH
+# undef UNDEF_TRACE_INCLUDE_PATH
+#endif
+
+/* We may be processing more files */
+#define TRACEPOINT_CREATE_PROBES
+
+#endif /* TRACEPOINT_CREATE_PROBES */
+++ /dev/null
-/*
- * Copyright (C) 2009 Steven Rostedt <srostedt@redhat.com>
- * Copyright (C) 2010 Nils Carlson <nils.carlson@ericsson.com>
- * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *
- * 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;
- * 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
- */
-
-/*
- * This whole file is currently a dummy.
- */
-
-#include <stdio.h>
-
-#undef TRACEPOINT_EVENT
-#define TRACEPOINT_EVENT(name, proto, args, fields) \
- TRACEPOINT_EVENT_CLASS(name, \
- TP_PARAMS(proto), \
- TP_PARAMS(args), \
- TP_PARAMS(fields)); \
- TRACEPOINT_EVENT_INSTANCE(name, name, TP_PARAMS(proto), \
- TP_PARAMS(args));
-
-#undef TRACEPOINT_EVENT_NOARGS
-#define TRACEPOINT_EVENT_NOARGS(name, fields) \
- TRACEPOINT_EVENT_CLASS_NOARGS(name, \
- TP_PARAMS(fields)); \
- TRACEPOINT_EVENT_INSTANCE_NOARGS(name, name);
-
-#undef tp_field
-#define tp_field(type, item, src) type item;
-
-#undef TP_FIELDS
-#define TP_FIELDS(args...) args
-
-#undef TRACEPOINT_EVENT_INSTANCE
-#define TRACEPOINT_EVENT_INSTANCE(template, name, proto, args)
-
-#undef TRACEPOINT_EVENT_INSTANCE_NOARGS
-#define TRACEPOINT_EVENT_INSTANCE_NOARGS(template, name)
-
-#undef TRACEPOINT_EVENT_CLASS
-#define TRACEPOINT_EVENT_CLASS(name, proto, args, fields) \
- struct trace_raw_##name { \
- fields \
- }; \
- static void trace_printf_##name(void *dummy, proto) \
- { \
- } \
- struct trace_event __event_##name = { \
- __tpstrtab_##name, \
- }; \
- static struct trace_event * const __event_ptrs_##name \
- __attribute__((used, section("__trace_events_ptrs"))) = \
- &__event_##name; \
- \
- static void __attribute__((constructor)) init_##name() \
- { \
- void *dummy = NULL; \
- __register_tracepoint(name, trace_printf_##name, dummy);\
- }
-
-#undef TRACEPOINT_EVENT_CLASS_NOARGS
-#define TRACEPOINT_EVENT_CLASS_NOARGS(name, fields) \
- struct trace_raw_##name { \
- fields \
- }; \
- static void trace_printf_##name(void *dummy) \
- { \
- } \
- struct trace_event __event_##name = { \
- __tpstrtab_##name, \
- }; \
- static struct trace_event * const __event_ptrs_##name \
- __attribute__((used, section("__trace_events_ptrs"))) = \
- &__event_##name; \
- \
- static void __attribute__((constructor)) init_##name() \
- { \
- void *dummy = NULL; \
- __register_tracepoint(name, trace_printf_##name, dummy);\
- }
-
-#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
#include <stdarg.h>
#include <ust/marker.h>
#include <ust/marker-internal.h>
-#include <ust/probe.h>
+#include <ust/probe-internal.h>
#include <ust/core.h>
#include "channels.h"
#include "tracercore.h"
#define TRACE_INCLUDE_FILE tp
/* This part must be outside protection */
-#include <ust/define_trace.h>
+#include <ust/tracepoint_event.h>
#define TRACE_INCLUDE_FILE tp
/* This part must be outside protection */
-#include <ust/define_trace.h>
+#include <ust/tracepoint_event.h>
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH .
#define TRACE_INCLUDE_FILE trace_event_test
-#include <ust/define_trace.h>
+#include <ust/tracepoint_event.h>
#define TRACE_INCLUDE_FILE tracepoint_benchmark
/* This part must be outside protection */
-#include <ust/define_trace.h>
+#include <ust/tracepoint_event.h>