lttng_ust_tracepoint_provider_unregister(provider_name, event_name, func, data); \
}
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,
+/*
+ * 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.
/*
* tracepoint dynamic linkage handling (callbacks). Hidden visibility:
* shared across objects in a module/main executable.
#define LTTNG_UST_TRACEPOINT_EVENT_CLASS(provider, name, args, fields)
#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
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))
+