-#endif /* #else #ifdef HAVE_PERF_EVENT */
-
-LTTNG_HIDDEN
-int lttng_probes_get_event_list(struct lttng_ust_tracepoint_list *list);
-LTTNG_HIDDEN
-void lttng_probes_prune_event_list(struct lttng_ust_tracepoint_list *list);
-
-LTTNG_HIDDEN
-int lttng_probes_get_field_list(struct lttng_ust_field_list *list);
-LTTNG_HIDDEN
-void lttng_probes_prune_field_list(struct lttng_ust_field_list *list);
-
-LTTNG_HIDDEN
-struct lttng_ust_tracepoint_iter *
- lttng_ust_tracepoint_list_get_iter_next(struct lttng_ust_tracepoint_list *list);
-LTTNG_HIDDEN
-struct lttng_ust_field_iter *
- lttng_ust_field_list_get_iter_next(struct lttng_ust_field_list *list);
-
-LTTNG_HIDDEN
-struct lttng_session *lttng_session_create(void);
-LTTNG_HIDDEN
-int lttng_session_enable(struct lttng_session *session);
-LTTNG_HIDDEN
-int lttng_session_disable(struct lttng_session *session);
-LTTNG_HIDDEN
-int lttng_session_statedump(struct lttng_session *session);
-LTTNG_HIDDEN
-void lttng_session_destroy(struct lttng_session *session);
-
-LTTNG_HIDDEN
-struct cds_list_head *lttng_get_sessions(void);
-
-LTTNG_HIDDEN
-void lttng_handle_pending_statedump(void *owner);
-
-LTTNG_HIDDEN
-struct lttng_channel *lttng_channel_create(struct lttng_session *session,
- const char *transport_name,
- void *buf_addr,
- size_t subbuf_size, size_t num_subbuf,
- unsigned int switch_timer_interval,
- unsigned int read_timer_interval,
- int **shm_fd, int **wait_fd,
- uint64_t **memory_map_size,
- struct lttng_channel *chan_priv_init);
-
-LTTNG_HIDDEN
-int lttng_channel_enable(struct lttng_channel *channel);
-LTTNG_HIDDEN
-int lttng_channel_disable(struct lttng_channel *channel);
-
-LTTNG_HIDDEN
-void lttng_transport_register(struct lttng_transport *transport);
-LTTNG_HIDDEN
-void lttng_transport_unregister(struct lttng_transport *transport);
-
-LTTNG_HIDDEN
-void lttng_probe_provider_unregister_events(struct lttng_probe_desc *desc);
-
-LTTNG_HIDDEN
-int lttng_fix_pending_events(void);
-
-LTTNG_HIDDEN
-struct cds_list_head *lttng_get_probe_list_head(void);
-
-LTTNG_HIDDEN
-struct lttng_enum *lttng_ust_enum_get_from_desc(struct lttng_session *session,
- const struct lttng_enum_desc *enum_desc);
+#endif /* #else #ifdef HAVE_LINUX_PERF_EVENT_H */
+
+int lttng_probes_get_event_list(struct lttng_ust_tracepoint_list *list)
+ __attribute__((visibility("hidden")));
+
+void lttng_probes_prune_event_list(struct lttng_ust_tracepoint_list *list)
+ __attribute__((visibility("hidden")));
+
+int lttng_probes_get_field_list(struct lttng_ust_field_list *list)
+ __attribute__((visibility("hidden")));
+
+void lttng_probes_prune_field_list(struct lttng_ust_field_list *list)
+ __attribute__((visibility("hidden")));
+
+struct lttng_ust_abi_tracepoint_iter *
+ lttng_ust_tracepoint_list_get_iter_next(struct lttng_ust_tracepoint_list *list)
+ __attribute__((visibility("hidden")));
+
+struct lttng_ust_abi_field_iter *
+ lttng_ust_field_list_get_iter_next(struct lttng_ust_field_list *list)
+ __attribute__((visibility("hidden")));
+
+struct lttng_ust_session *lttng_session_create(void)
+ __attribute__((visibility("hidden")));
+
+int lttng_session_enable(struct lttng_ust_session *session)
+ __attribute__((visibility("hidden")));
+
+int lttng_session_disable(struct lttng_ust_session *session)
+ __attribute__((visibility("hidden")));
+
+int lttng_session_statedump(struct lttng_ust_session *session)
+ __attribute__((visibility("hidden")));
+
+void lttng_session_destroy(struct lttng_ust_session *session)
+ __attribute__((visibility("hidden")));
+
+/*
+ * Called with ust lock held.
+ */
+int lttng_session_active(void)
+ __attribute__((visibility("hidden")));
+
+struct cds_list_head *lttng_get_sessions(void)
+ __attribute__((visibility("hidden")));
+
+void lttng_handle_pending_statedump(void *owner)
+ __attribute__((visibility("hidden")));
+
+int lttng_channel_enable(struct lttng_ust_channel_common *lttng_channel)
+ __attribute__((visibility("hidden")));
+
+int lttng_channel_disable(struct lttng_ust_channel_common *lttng_channel)
+ __attribute__((visibility("hidden")));
+
+void lttng_transport_register(struct lttng_transport *transport)
+ __attribute__((visibility("hidden")));
+
+void lttng_transport_unregister(struct lttng_transport *transport)
+ __attribute__((visibility("hidden")));
+
+/* This is ABI between liblttng-ust and liblttng-ust-ctl */
+struct lttng_transport *lttng_ust_transport_find(const char *name);
+
+/* This is ABI between liblttng-ust and liblttng-ust-dl */
+void lttng_ust_dl_update(void *ip);
+
+void lttng_probe_provider_unregister_events(const struct lttng_ust_probe_desc *desc)
+ __attribute__((visibility("hidden")));
+
+int lttng_fix_pending_events(void)
+ __attribute__((visibility("hidden")));
+
+struct cds_list_head *lttng_get_probe_list_head(void)
+ __attribute__((visibility("hidden")));
+
+struct lttng_enum *lttng_ust_enum_get_from_desc(struct lttng_ust_session *session,
+ const struct lttng_ust_enum_desc *enum_desc)
+ __attribute__((visibility("hidden")));
+
+int lttng_abi_create_root_handle(void)
+ __attribute__((visibility("hidden")));
+
+const struct lttng_ust_abi_objd_ops *lttng_ust_abi_objd_ops(int id)
+ __attribute__((visibility("hidden")));
+
+int lttng_ust_abi_objd_unref(int id, int is_owner)
+ __attribute__((visibility("hidden")));
+
+void lttng_ust_abi_exit(void)
+ __attribute__((visibility("hidden")));
+
+void lttng_ust_abi_events_exit(void)
+ __attribute__((visibility("hidden")));
+
+void lttng_ust_abi_objd_table_owner_cleanup(void *owner)
+ __attribute__((visibility("hidden")));
+
+struct lttng_ust_channel_buffer *lttng_ust_alloc_channel_buffer(void)
+ __attribute__((visibility("hidden")));
+
+void lttng_ust_free_channel_common(struct lttng_ust_channel_common *chan)
+ __attribute__((visibility("hidden")));
+
+int lttng_ust_interpret_event_filter(struct lttng_ust_event_common *event,
+ const char *interpreter_stack_data,
+ void *filter_ctx)
+ __attribute__((visibility("hidden")));
+
+int lttng_ust_session_uuid_validate(struct lttng_ust_session *session,
+ unsigned char *uuid)
+ __attribute__((visibility("hidden")));
+
+bool lttng_ust_validate_event_name(const struct lttng_ust_event_desc *desc)
+ __attribute__((visibility("hidden")));
+
+void lttng_ust_format_event_name(const struct lttng_ust_event_desc *desc,
+ char *name)
+ __attribute__((visibility("hidden")));
+
+int lttng_ust_add_app_context_to_ctx_rcu(const char *name, struct lttng_ust_ctx **ctx)
+ __attribute__((visibility("hidden")));
+
+int lttng_ust_context_set_provider_rcu(struct lttng_ust_ctx **_ctx,
+ const char *name,
+ size_t (*get_size)(void *priv, size_t offset),
+ void (*record)(void *priv, struct lttng_ust_lib_ring_buffer_ctx *ctx,
+ struct lttng_ust_channel_buffer *chan),
+ void (*get_value)(void *priv, struct lttng_ust_ctx_value *value),
+ void *priv)
+ __attribute__((visibility("hidden")));
+
+void lttng_ust_context_set_session_provider(const char *name,
+ size_t (*get_size)(void *priv, size_t offset),
+ void (*record)(void *priv, struct lttng_ust_lib_ring_buffer_ctx *ctx,
+ struct lttng_ust_channel_buffer *chan),
+ void (*get_value)(void *priv, struct lttng_ust_ctx_value *value),
+ void *priv)
+ __attribute__((visibility("hidden")));