-extern int lttng_create_session(char *name, uuid_t *session_id);
-extern int lttng_destroy_session(uuid_t *uuid);
-extern int lttng_connect_sessiond(void);
-extern int lttng_disconnect_sessiond(void);
-extern int lttng_set_tracing_group(const char *name);
-extern int lttng_check_session_daemon(void);
-extern const char *lttng_get_readable_code(int code);
-extern int lttng_ust_list_apps(pid_t **pids);
-extern int lttng_list_sessions(struct lttng_session **sessions);
-extern int lttng_list_traces(uuid_t *uuid, struct lttng_trace **traces);
-extern void lttng_set_current_session_uuid(uuid_t *uuid);
-extern int lttng_ust_create_trace(pid_t pid);
-extern int lttng_ust_start_trace(pid_t pid);
-extern int lttng_ust_stop_trace(pid_t pid);
-
-#endif /* _LIBLTTNGCTL_H */
+/*
+ * Deprecated: As of LTTng 2.9, this function always returns
+ * -LTTNG_ERR_UND.
+ */
+extern int lttng_calibrate(struct lttng_handle *handle,
+ struct lttng_calibrate *calibrate);
+
+/*
+ * Set URL for a consumer for a session and domain.
+ *
+ * Both data and control URL must be defined. If both URLs are the same, only
+ * the control URL is used even for network streaming.
+ *
+ * Default port are 5342 and 5343 respectively for control and data which uses
+ * the TCP protocol.
+ *
+ * URL format: proto://[HOST|IP][:PORT1[:PORT2]][/TRACE_PATH]
+ *
+ * Possible protocols are:
+ * > file://...
+ * Local filesystem full path.
+ *
+ * > net[6]://...
+ * This will use the default network transport layer which is TCP for both
+ * control (PORT1) and data port (PORT2).
+ *
+ * > tcp[6]://...
+ * TCP only streaming. For this one, both data and control URL must be given.
+ *
+ * Return 0 on success else a negative LTTng error code.
+ */
+extern int lttng_set_consumer_url(struct lttng_handle *handle,
+ const char *control_url, const char *data_url);
+
+/*
+ * For a given session name, this call checks if the data is ready to be read
+ * or is still being extracted by the consumer(s) (pending) hence not ready to
+ * be used by any readers.
+ *
+ * Return 0 if there is _no_ data pending in the buffers thus having a
+ * guarantee that the data can be read safely. Else, return 1 if there is still
+ * traced data is pending. On error, a negative value is returned and readable
+ * by lttng_strerror().
+ */
+extern int lttng_data_pending(const char *session_name);
+
+/*
+ * Deprecated, replaced by lttng_regenerate_metadata.
+ */
+LTTNG_DEPRECATED()
+extern int lttng_metadata_regenerate(const char *session_name);
+
+/*
+ * Trigger the regeneration of the metadata for a session.
+ * The new metadata overwrite the previous one locally or remotely (through
+ * the lttng-relayd). Only kernel, per-uid and non-live sessions are supported.
+ * Return 0 on success, a negative LTTng error code on error.
+ */
+extern int lttng_regenerate_metadata(const char *session_name);
+
+/*
+ * Trigger the regeneration of the statedump for a session. The new statedump
+ * information is appended to the currently active trace, the session needs to
+ * be active.
+ *
+ * Return 0 on success, a negative LTTng error code on error.
+ */
+extern int lttng_regenerate_statedump(const char *session_name);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* LTTNG_H */