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,
+ 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_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")));
+
+/*
+ * 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.
+ */
+int lttng_ust_tp_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,
+int lttng_ust_tp_probe_unregister_queue_release(const char *name,
void (*func)(void), void *data);
-extern void __tracepoint_probe_prune_release_queue(void);
+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 */