X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=libmarkers%2Fmarker.h;h=62954e1c3f94a43c511164459ac76073c1fd73f4;hb=20b37a3100b0d8722b361f62fd592520264fb9fa;hp=f26bcac033519fad67850a3757da23eb5d03f58e;hpb=98963de4a2dfae12d8aafa0f9a6d97cf4a44e12d;p=lttng-ust.git diff --git a/libmarkers/marker.h b/libmarkers/marker.h index f26bcac0..62954e1c 100644 --- a/libmarkers/marker.h +++ b/libmarkers/marker.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));\ +} #endif + +void marker_set_new_marker_cb(void (*cb)(struct marker *));