add libtracing Makefile.am
[ust.git] / libmarkers / marker.h
index f26bcac033519fad67850a3757da23eb5d03f58e..7c3d8c565a512d082df3fc304882747eab97930e 100644 (file)
@@ -1,6 +1,3 @@
-#ifndef _LINUX_MARKER_H
-#define _LINUX_MARKER_H
-
 /*
  * Code markup for dynamic and static tracing.
  *
@@ -13,6 +10,9 @@
  * See the file COPYING for more details.
  */
 
+#ifndef _LINUX_MARKER_H
+#define _LINUX_MARKER_H
+
 #include <stdarg.h>
 //ust// #include <linux/types.h>
 #include "immediate.h"
@@ -282,5 +282,17 @@ struct lib {
        struct list_head list;
 };
 
+int marker_register_lib(struct marker *markers_start, int markers_count);
+
+#define MARKER_LIB                                                                     \
+extern struct marker __start___markers[] __attribute__((visibility("hidden")));                \
+extern struct marker __stop___markers[] __attribute__((visibility("hidden")));         \
+                                                                                       \
+static void __attribute__((constructor)) __markers__init(void)                                 \
+{                                                                                      \
+       marker_register_lib(__start___markers, (((long)__stop___markers)-((long)__start___markers))/sizeof(struct marker));\
+}
+
+void marker_set_new_marker_cb(void (*cb)(struct marker *));
 
 #endif
This page took 0.023338 seconds and 4 git commands to generate.