X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=include%2Flttng%2Ftracepoint.h;h=1f8b9209de0c1ec4992af786f32ef623230fbc28;hb=7075c5a2f8f4f90a018d7d1ea8c6dadda609495d;hp=f2a65777c7a4b4549d9900d49d887464f9e3ce2a;hpb=14227bde84a144ed425a12d47337ade48e50bd4e;p=lttng-ust.git diff --git a/include/lttng/tracepoint.h b/include/lttng/tracepoint.h index f2a65777..1f8b9209 100644 --- a/include/lttng/tracepoint.h +++ b/include/lttng/tracepoint.h @@ -230,11 +230,24 @@ void lttng_ust_tracepoint_unregister_##_provider##___##_name(char *provider_name lttng_ust_tracepoint_provider_unregister(provider_name, event_name, func, data); \ } -extern int lttng_ust_tracepoint_provider_register(const char *provider_name, const char *event_name, +/* + * Registration of tracepoint provider probe functions with + * lttng_ust_tracepoint_provider_register, unregistration with + * lttng_ust_tracepoint_provider_unregister. + */ +int lttng_ust_tracepoint_provider_register(const char *provider_name, const char *event_name, void (*func)(void), void *data, const char *signature); -extern int lttng_ust_tracepoint_provider_unregister(const char *provider_name, const char *event_name, +int lttng_ust_tracepoint_provider_unregister(const char *provider_name, const char *event_name, void (*func)(void), void *data); +/* + * Registration of tracepoint instrumentation modules with lttng_ust_tracepoint_module_register, + * unregistration with lttng_ust_tracepoint_module_unregister. + */ +int lttng_ust_tracepoint_module_register(struct lttng_ust_tracepoint * const *tracepoints_start, + int tracepoints_count); +int lttng_ust_tracepoint_module_unregister(struct lttng_ust_tracepoint * const *tracepoints_start); + /* * tracepoint dynamic linkage handling (callbacks). Hidden visibility: * shared across objects in a module/main executable. @@ -770,14 +783,17 @@ lttng_ust__tracepoints__ptrs_destroy(void) #define LTTNG_UST_TRACEPOINT_EVENT_CLASS(provider, name, args, fields) -#define LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(provider, _template, name, args) \ +#define LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(template_provider, template_name, provider, name, args) \ LTTNG_UST__DECLARE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args)) \ LTTNG_UST__DEFINE_TRACEPOINT(provider, name, LTTNG_UST__TP_PARAMS(args)) #if LTTNG_UST_COMPAT_API(0) #define TRACEPOINT_EVENT LTTNG_UST_TRACEPOINT_EVENT #define TRACEPOINT_EVENT_CLASS LTTNG_UST_TRACEPOINT_EVENT_CLASS -#define TRACEPOINT_EVENT_INSTANCE LTTNG_UST_TRACEPOINT_EVENT_INSTANCE +#define TRACEPOINT_EVENT_INSTANCE(_provider, _template, _name, args) \ + LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(_provider, _template, \ + _provider, _name, LTTNG_UST__TP_PARAMS(args)) + #endif /* #if LTTNG_UST_COMPAT_API(0) */ #endif /* #ifndef LTTNG_UST_TRACEPOINT_EVENT */