X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=include%2Fust%2Fust_trace.h;h=11d5940c68bed8ae85d1bb9b1f593fd8df9156d3;hb=fbae86d664c12e450d3cb702b602701d37781b41;hp=e1b02576d6ef93b88c45bca1cdcdcf071e355d09;hpb=9dec086e052cf7f583a3afaa3aab48a6de8d38ac;p=lttng-ust.git diff --git a/include/ust/ust_trace.h b/include/ust/ust_trace.h index e1b02576..11d5940c 100644 --- a/include/ust/ust_trace.h +++ b/include/ust/ust_trace.h @@ -23,6 +23,8 @@ * to a printf */ +#include + /* * Stage 1. Create a struct and a printf calling function * that is connected to the tracepoint at load time. @@ -66,10 +68,23 @@ \ printf(print); \ } \ + static inline int register_event_##name(void *data) \ + { \ + return register_trace_##name(trace_printf_##name, data); \ + } \ + static inline int unregister_event_##name(void *data) \ + { \ + return unregister_trace_##name(trace_printf_##name, data); \ + } \ + struct trace_event __event_##name \ + __attribute__((section("__trace_events"), aligned(32))) = { \ + __tpstrtab_##name, \ + register_event_##name, \ + unregister_event_##name \ + }; \ static void __attribute__((constructor)) init_##name() \ { \ - void *dummy; \ - printf("connecting tracepoint " #name "\n"); \ + void *dummy = NULL; \ register_trace_##name(trace_printf_##name, dummy); \ }