Fix: pass private data to context callbacks
[lttng-ust.git] / liblttng-ust / tracepoint-internal.h
index 15661652b000adc2cde3588105b8f37a6857167f..a4f8fc422de38a4885e7e170085573a1eb130dda 100644 (file)
@@ -20,34 +20,40 @@ struct tracepoint_lib {
        struct cds_list_head callsites;
 };
 
-extern int tracepoint_probe_register_noupdate(const char *name,
+int tracepoint_probe_register_noupdate(const char *name,
                void (*callback)(void), void *priv,
-               const char *signature);
-extern int tracepoint_probe_unregister_noupdate(const char *name,
-               void (*callback)(void), void *priv);
-extern void tracepoint_probe_update_all(void);
-extern int __tracepoint_probe_register_queue_release(const char *name,
-               void (*func)(void), void *data, const char *signature);
-extern int __tracepoint_probe_unregister_queue_release(const char *name,
-               void (*func)(void), void *data);
-extern void __tracepoint_probe_prune_release_queue(void);
+               const char *signature)
+       __attribute__((visibility("hidden")));
+
+int tracepoint_probe_unregister_noupdate(const char *name,
+               void (*callback)(void), void *priv)
+       __attribute__((visibility("hidden")));
+
+void tracepoint_probe_update_all(void)
+       __attribute__((visibility("hidden")));
+
 
-void lttng_ust_synchronize_trace(void);
+void *lttng_ust_tp_check_weak_hidden1(void)
+       __attribute__((visibility("hidden")));
+
+void *lttng_ust_tp_check_weak_hidden2(void)
+       __attribute__((visibility("hidden")));
+
+void *lttng_ust_tp_check_weak_hidden3(void)
+       __attribute__((visibility("hidden")));
 
 /*
- * call after disconnection of last probe implemented within a
- * shared object before unmapping the library that contains the probe.
+ * These symbols are ABI between liblttng-ust-tracepoint and liblttng-ust,
+ * which is why they are not hidden and not part of the public API.
  */
-static inline void tracepoint_synchronize_unregister(void)
-{
-       lttng_ust_synchronize_trace();
-}
+int lttng_ust_tp_probe_register_queue_release(const char *name,
+               void (*func)(void), void *data, const char *signature);
+int lttng_ust_tp_probe_unregister_queue_release(const char *name,
+               void (*func)(void), void *data);
+void lttng_ust_tp_probe_prune_release_queue(void);
 
-extern void init_tracepoint(void);
-extern void exit_tracepoint(void);
+void lttng_ust_tp_init(void);
+void lttng_ust_tp_exit(void);
 
-void *lttng_ust_tp_check_weak_hidden1(void);
-void *lttng_ust_tp_check_weak_hidden2(void);
-void *lttng_ust_tp_check_weak_hidden3(void);
 
 #endif /* _LTTNG_TRACEPOINT_INTERNAL_H */
This page took 0.023469 seconds and 4 git commands to generate.