-#ifndef _LINUX_MARKER_H
-#define _LINUX_MARKER_H
-
/*
* Code markup for dynamic and static tracing.
*
* 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"
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