+LTTNG_EXPORT extern int lttng_destroy_session(const char *name);
+
+/*
+ * Destroy a tracing session.
+ *
+ * Performs the same function as lttng_destroy_session(), but provides
+ * an lttng_destruction_handle which can be used to wait for the completion
+ * of the session's destruction. The lttng_destroy_handle can also be used
+ * obtain the status and archive location of any implicit session
+ * rotation that may have occurred during the session's destruction.
+ *
+ * Returns LTTNG_OK on success. The returned handle is owned by the caller
+ * and must be free'd using lttng_destruction_handle_destroy().
+ */
+LTTNG_EXPORT extern enum lttng_error_code
+lttng_destroy_session_ext(const char *session_name, struct lttng_destruction_handle **handle);
+
+/*
+ * Behaves exactly like lttng_destroy_session but does not wait for data
+ * availability.
+ */
+LTTNG_EXPORT extern int lttng_destroy_session_no_wait(const char *name);