-extern int lttng_kernel_create_channel(void);
-extern int lttng_kernel_create_session(void);
-extern int lttng_kernel_create_stream(void);
-extern int lttng_kernel_disable_event(char *event_name);
-extern int lttng_kernel_enable_event(char *event_name);
-extern int lttng_kernel_list_events(char **event_list);
-extern int lttng_kernel_open_metadata(void);
-extern int lttng_kernel_start_tracing(void);
-extern int lttng_kernel_stop_tracing(void);
-
-#endif /* _LTTNG_H */
+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 */