docs: Partially document the liblttng-ctl C API
[lttng-tools.git] / include / lttng / session-descriptor.h
index a67a4bf1c65550b407552f5301aab7267c739131..f4151b3a806d73da2753fb50475f6f48c94386e5 100644 (file)
@@ -8,12 +8,23 @@
 #ifndef LTTNG_SESSION_DESCRIPTOR_H
 #define LTTNG_SESSION_DESCRIPTOR_H
 
-#include <lttng/lttng-export.h>
-
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+#include <lttng/lttng-export.h>
+
+/*!
+@addtogroup api_session_descr
+@{
+*/
+
+/*!
+@struct lttng_session_descriptor
+
+@brief
+    Recording session descriptor (opaque type).
+*/
 struct lttng_session_descriptor;
 
 /*
@@ -90,90 +101,468 @@ struct lttng_session_descriptor;
  *     default data port, and the 'control_url' host will be used.
  */
 
+/*!
+@brief
+    Return type of recording session descriptor fuctions.
+
+Error status enumerators have a negative value.
+*/
 enum lttng_session_descriptor_status {
-       /* Invalid session descriptor parameter. */
-       LTTNG_SESSION_DESCRIPTOR_STATUS_INVALID = -1,
+       /// Success.
        LTTNG_SESSION_DESCRIPTOR_STATUS_OK = 0,
-       /* Session descriptor parameter is unset. */
+
+       /// Unsatisfied precondition.
+       LTTNG_SESSION_DESCRIPTOR_STATUS_INVALID = -1,
+
+       /// Recording session descriptor property is not set.
        LTTNG_SESSION_DESCRIPTOR_STATUS_UNSET = 1,
 };
 
-/*
- * Create a session descriptor in no-output mode.
- *
- * The 'name' parameter can be left NULL to auto-generate a session name.
- *
- * Returns an lttng_session_descriptor instance on success, NULL on error.
- */
+/*!
+@brief
+    Creates a recording session descriptor to create a no-output,
+    \ref api-session-local-mode "local" recording session
+    named \lt_p{session_name}.
+
+LTTng won't write any trace data for a recording session created from
+the returned descriptor.
+
+@param[in] session_name
+    @parblock
+    Recording session name.
+
+    If \c NULL, LTTng automatically generates a recording session name
+    when you call lttng_create_session_ext().
+
+    Call lttng_session_descriptor_get_session_name() with the returned
+    recording session descriptor after successfully calling
+    lttng_create_session_ext() to get the generated name.
+    @endparblock
+
+@returns
+    @parblock
+    Recording session descriptor on success, or \c NULL on error.
+
+    Destroy the returned descriptor with
+    lttng_session_descriptor_destroy().
+    @endparblock
+
+@sa lttng_session_descriptor_local_create() --
+    Creates a recording session descriptor to create a
+    \ref api-session-local-mode "local" recording session with an
+    output.
+
+@lt_pre_sess_name_not_auto{session_name}
+*/
 LTTNG_EXPORT extern struct lttng_session_descriptor *
-lttng_session_descriptor_create(const char *name);
+lttng_session_descriptor_create(const char *session_name);
 
-/*
- * Create a session descriptor with a local output destination.
- *
- * The 'name' parameter can be left NULL to auto-generate a session name.
- *
- * The 'path' must either be an absolute path or it can be left NULL to
- * use the default local output destination.
- *
- * Returns an lttng_session_descriptor instance on success, NULL on error.
- */
+/*!
+@brief
+    Creates a recording session descriptor to create a
+    \ref api-session-local-mode "local" recording session
+    named \lt_p{session_name}.
+
+@param[in] session_name
+    @parblock
+    Recording session name.
+
+    If \c NULL, LTTng automatically generates a recording session name
+    when you call lttng_create_session_ext().
+
+    Call lttng_session_descriptor_get_session_name() with the returned
+    recording session descriptor after successfully calling
+    lttng_create_session_ext() to get the generated name.
+    @endparblock
+@param[in] trace_dir
+    @parblock
+    Absolute path of the directory containing the traces of the
+    recording session you create from the returned descriptor.
+
+    If \c NULL, the output directory is, after calling
+    lttng_create_session_ext(),
+    <code><em>$LTTNG_HOME</em>/lttng-traces/<em>NAME</em>-<em>TS</em></code>,
+    with:
+
+    <dl>
+      <dt><code><em>$LTTNG_HOME</em></code>
+      <dd>
+       The value of the \c LTTNG_HOME environment variable, or
+       of the \c HOME environment variable if \c LTTNG_HOME isn't
+       set.
+
+      <dt><code><em>NAME</em></code>
+      <dd>
+       Recording session name (\lt_p{session_name} if not \c NULL, or
+       an automatically generated name otherwise).
+
+      <dt><code><em>TS</em></code>
+      <dd>
+       \link lttng_session_get_creation_time() Timestamp of the
+       creation\endlink of the recording session using the
+       <code>YYYYmmdd-HHMMSS</code> form.
+    </dl>
+    @endparblock
+
+@returns
+    @parblock
+    Recording session descriptor on success, or \c NULL on error.
+
+    Destroy the returned descriptor with
+    lttng_session_descriptor_destroy().
+    @endparblock
+
+@lt_pre_sess_name_not_auto{session_name}
+@pre
+    <strong>If not \c NULL</strong>, \lt_p{trace_dir} is a valid path.
+
+@sa lttng_session_descriptor_create() --
+    Creates a recording session descriptor to create a
+    \ref api-session-local-mode "local" recording session without an
+    output.
+*/
 LTTNG_EXPORT extern struct lttng_session_descriptor *
-lttng_session_descriptor_local_create(const char *name, const char *path);
+lttng_session_descriptor_local_create(const char *session_name, const char *trace_dir);
 
-/*
- * Create a session descriptor with a remote output destination.
- *
- * The 'name' parameter can be left NULL to auto-generate a session name.
- *
- * The 'control_url' and 'data_url' must conform to the URL format
- * described above or can be left NULL to use the default network output.
- *
- * Returns an lttng_session_descriptor instance on success, NULL on error.
- */
+/*!
+@brief
+    Creates a recording session descriptor to create a
+    \ref api-session-net-mode "network streaming" recording session
+    named \lt_p{session_name}.
+
+The valid combinations of \lt_p{control_url} and \lt_p{data_url} are:
+
+<table>
+  <tr>
+    <th>\lt_p{control_url}
+    <th>\lt_p{data_url}
+    <th>Behaviour
+  <tr>
+    <td>\c NULL
+    <td>\c NULL
+    <td>
+      Use \lt_def_net_ctrl_url as \lt_p{control_url}.
+
+      Use \lt_def_net_data_url as \lt_p{data_url}.
+  <tr>
+    <td>\ref api-session-one-port-url "Single-port output URL"
+    <td>\c NULL
+    <td>
+      Use the protocol, host, and trace directory (if any) of
+      \lt_p{control_url} and the port \lt_def_net_data_port
+      as \lt_p{data_url}.
+  <tr>
+    <td>Single-port output URL
+    <td>
+      Single-port output URL with the exact same protocol, host,
+      and trace directory (if any) as \lt_p{control_url}.
+    <td>
+      Use the specified output URLs.
+  <tr>
+    <td>\ref api-session-two-port-url "Two-port output URL"
+    <td>\c NULL
+    <td>
+      Use the protocol, host, data port, and trace directory (if any)
+      of \lt_p{control_url} as \lt_p{data_url}.
+</table>
+
+@param[in] session_name
+    @parblock
+    Recording session name.
+
+    If \c NULL, LTTng automatically generates a recording session name
+    when you call lttng_create_session_ext().
+
+    Call lttng_session_descriptor_get_session_name() with the returned
+    recording session descriptor after successfully calling
+    lttng_create_session_ext() to get the generated name.
+    @endparblock
+@param[in] control_url
+    @parblock
+    One of:
+
+    <dl>
+      <dt>\ref api-session-one-port-url "Single-port output URL"
+      <dd>
+       Indicates where (to which relay daemon; see
+       \lt_man{lttng-relayd,8}) to send the control data.
+
+      <dt>\ref api-session-two-port-url "Two-port output URL"
+      <dd>
+       Indicates where to send the control \em and trace data.
+    </dl>
+
+    If \c NULL, this function uses \lt_def_net_url.
+    @endparblock
+@param[in] data_url
+    @parblock
+    \ref api-session-one-port-url "Single-port output URL" which
+    indicates where to send the trace data.
+
+    May be <code>NULL</code>: see the table above for the default value
+    depending on \lt_p{control_url}.
+    @endparblock
+
+@returns
+    @parblock
+    Recording session descriptor on success, or \c NULL on error.
+
+    Destroy the returned descriptor with
+    lttng_session_descriptor_destroy().
+    @endparblock
+
+@lt_pre_sess_name_not_auto{session_name}
+@pre
+    \lt_p{control_url} and \lt_p{data_url} satisfy one of the valid
+    combinations shown in the table above.
+*/
 LTTNG_EXPORT extern struct lttng_session_descriptor *lttng_session_descriptor_network_create(
-       const char *name, const char *control_url, const char *data_url);
+       const char *session_name, const char *control_url, const char *data_url);
 
-/*
- * Create a snapshot session descriptor without a default output.
- *
- * The 'name' parameter can be left NULL to auto-generate a session name.
- *
- * Returns an lttng_session_descriptor instance on success, NULL on error.
- */
+/*!
+@brief
+    Creates a recording session descriptor to create a
+    \ref api-session-snapshot-mode "snapshot" recording session
+    named \lt_p{session_name} without an initial output.
+
+A recording session which lttng_create_session_ext() creates from the
+returned descriptor has no initial snapshot output: you need to either
+add one with lttng_snapshot_add_output() or provide one when you take a
+snapshot with lttng_snapshot_record().
+
+@param[in] session_name
+    @parblock
+    Recording session name.
+
+    If \c NULL, LTTng automatically generates a recording session name
+    when you call lttng_create_session_ext().
+
+    Call lttng_session_descriptor_get_session_name() with the returned
+    recording session descriptor after successfully calling
+    lttng_create_session_ext() to get the generated name.
+    @endparblock
+
+@returns
+    @parblock
+    Recording session descriptor on success, or \c NULL on error.
+
+    Destroy the returned descriptor with
+    lttng_session_descriptor_destroy().
+    @endparblock
+
+@lt_pre_sess_name_not_auto{session_name}
+
+@sa lttng_session_descriptor_snapshot_local_create() --
+    Creates a recording session descriptor to create a
+    \ref api-session-snapshot-mode "snapshot" recording session
+    with an initial local output.
+@sa lttng_session_descriptor_snapshot_network_create() --
+    Creates a recording session descriptor to create a
+    \ref api-session-snapshot-mode "snapshot" recording session
+    with an initial remote output.
+*/
 LTTNG_EXPORT extern struct lttng_session_descriptor *
-lttng_session_descriptor_snapshot_create(const char *name);
+lttng_session_descriptor_snapshot_create(const char *session_name);
 
-/*
- * Create a snapshot session descriptor with a local output destination.
- *
- * The 'name' parameter can be left NULL to auto-generate a session name.
- *
- * The 'path' must either be an absolute path or it can be left NULL to
- * use the default local output destination as the default snapshot output.
- *
- * Returns an lttng_session_descriptor instance on success, NULL on error.
- */
+/*!
+@brief
+    Creates a recording session descriptor to create a
+    \ref api-session-snapshot-mode "snapshot" recording session
+    named \lt_p{session_name} and having an initial local output.
+
+Using the returned descriptor when you call lttng_create_session_ext()
+to create a snapshot recording session is similar to using a descriptor
+which lttng_session_descriptor_snapshot_create() returns and calling
+lttng_snapshot_add_output() after creating the recording session.
+
+The name of this initial snapshot output is <code>snapshot-0</code>.
+
+@param[in] session_name
+    @parblock
+    Recording session name.
+
+    If \c NULL, LTTng automatically generates a recording session name
+    when you call lttng_create_session_ext().
+
+    Call lttng_session_descriptor_get_session_name() with the returned
+    recording session descriptor after successfully calling
+    lttng_create_session_ext() to get the generated name.
+    @endparblock
+@param[in] trace_dir
+    @parblock
+    Absolute path of an initial snapshot output.
+
+    If \c NULL, the snapshot output directory is, after calling
+    lttng_create_session_ext(),
+    <code><em>$LTTNG_HOME</em>/lttng-traces/<em>NAME</em>-<em>TS</em></code>,
+    with:
+
+    <dl>
+      <dt><code><em>$LTTNG_HOME</em></code>
+      <dd>
+       The value of the \c LTTNG_HOME environment variable, or
+       of the \c HOME environment variable if \c LTTNG_HOME isn't
+       set.
+
+      <dt><code><em>NAME</em></code>
+      <dd>
+       Recording session name (\lt_p{session_name} if not \c NULL, or
+       an automatically generated name otherwise).
+
+      <dt><code><em>TS</em></code>
+      <dd>
+       \link lttng_session_get_creation_time() Timestamp of the
+       creation\endlink of the recording session using the
+       <code>YYYYmmdd-HHMMSS</code> form.
+    </dl>
+    @endparblock
+
+@returns
+    @parblock
+    Recording session descriptor on success, or \c NULL on error.
+
+    Destroy the returned descriptor with
+    lttng_session_descriptor_destroy().
+    @endparblock
+
+@lt_pre_sess_name_not_auto{session_name}
+@pre
+    <strong>If not \c NULL</strong>, \lt_p{trace_dir} is a valid path.
+
+@sa lttng_session_descriptor_snapshot_create() --
+    Creates a recording session descriptor to create a
+    \ref api-session-snapshot-mode "snapshot" recording session
+    without an initial output.
+@sa lttng_session_descriptor_snapshot_network_create() --
+    Creates a recording session descriptor to create a
+    \ref api-session-snapshot-mode "snapshot" recording session
+    with an initial remote output.
+*/
 LTTNG_EXPORT extern struct lttng_session_descriptor *
-lttng_session_descriptor_snapshot_local_create(const char *name, const char *path);
+lttng_session_descriptor_snapshot_local_create(const char *session_name, const char *trace_dir);
 
-/*
- * Create a snapshot session descriptor with a remote output destination.
- *
- * The 'name' parameter can be left NULL to auto-generate a session name.
- *
- * The 'control_url' and 'data_url' must conform to the URL format
- * described above or can be left NULL to use the default network output as
- * the default snapshot output.
- *
- * Returns an lttng_session_descriptor instance on success, NULL on error.
- */
+/*!
+@brief
+    Creates a recording session descriptor to create a
+    \ref api-session-snapshot-mode "snapshot" recording session
+    named \lt_p{session_name} and having an initial remote output.
+
+Using the returned descriptor when you call lttng_create_session_ext()
+to create a snapshot recording session is similar to using a descriptor
+which lttng_session_descriptor_snapshot_create() returns and calling
+lttng_snapshot_add_output() after creating the recording session.
+
+The name of this initial snapshot output is <code>snapshot-0</code>.
+
+The valid combinations of \lt_p{control_url} and \lt_p{data_url} are:
+
+<table>
+  <tr>
+    <th>\lt_p{control_url}
+    <th>\lt_p{data_url}
+    <th>Behaviour
+  <tr>
+    <td>\c NULL
+    <td>\c NULL
+    <td>
+      Use \lt_def_net_ctrl_url as \lt_p{control_url}.
+
+      Use \lt_def_net_data_url as \lt_p{data_url}.
+  <tr>
+    <td>\ref api-session-one-port-url "Single-port output URL"
+    <td>\c NULL
+    <td>
+      Use the protocol, host, and trace directory (if any) of
+      \lt_p{control_url} and the port \lt_def_net_data_port
+      as \lt_p{data_url}.
+  <tr>
+    <td>Single-port output URL
+    <td>
+      Single-port output URL with the exact same protocol, host,
+      and trace directory (if any) as \lt_p{control_url}.
+    <td>
+      Use the specified output URLs.
+  <tr>
+    <td>\ref api-session-two-port-url "Two-port output URL"
+    <td>\c NULL
+    <td>
+      Use the protocol, host, data port, and trace directory (if any)
+      of \lt_p{control_url} as \lt_p{data_url}.
+</table>
+
+@param[in] session_name
+    @parblock
+    Recording session name.
+
+    If \c NULL, LTTng automatically generates a recording session name
+    when you call lttng_create_session_ext().
+
+    Call lttng_session_descriptor_get_session_name() with the returned
+    recording session descriptor after successfully calling
+    lttng_create_session_ext() to get the generated name.
+    @endparblock
+@param[in] control_url
+    @parblock
+    Control data URL of an initial snapshot output.
+
+    One of:
+
+    <dl>
+      <dt>\ref api-session-one-port-url "Single-port output URL"
+      <dd>
+       Indicates where (to which relay daemon; see
+       \lt_man{lttng-relayd,8}) to send the control data.
+
+      <dt>\ref api-session-two-port-url "Two-port output URL"
+      <dd>
+       Indicates where to send the control \em and trace data.
+    </dl>
+
+    If \c NULL, this function uses \lt_def_net_url.
+    @endparblock
+@param[in] data_url
+    @parblock
+    Trace data URL of an initial snapshot output.
+
+    \ref api-session-one-port-url "Single-port output URL" which
+    indicates where to send the trace data.
+
+    May be <code>NULL</code>: see the table above for the default value
+    depending on \lt_p{control_url}.
+    @endparblock
+
+@returns
+    @parblock
+    Recording session descriptor on success, or \c NULL on error.
+
+    Destroy the returned descriptor with
+    lttng_session_descriptor_destroy().
+    @endparblock
+
+@lt_pre_sess_name_not_auto{session_name}
+@pre
+    \lt_p{control_url} and \lt_p{data_url} satisfy one of the valid
+    combinations shown in the table above.
+
+@sa lttng_session_descriptor_snapshot_create() --
+    Creates a recording session descriptor to create a
+    \ref api-session-snapshot-mode "snapshot" recording session
+    without an initial output.
+@sa lttng_session_descriptor_snapshot_local_create() --
+    Creates a recording session descriptor to create a
+    \ref api-session-snapshot-mode "snapshot" recording session
+    with an initial local output.
+*/
 LTTNG_EXPORT extern struct lttng_session_descriptor *
-lttng_session_descriptor_snapshot_network_create(const char *name,
+lttng_session_descriptor_snapshot_network_create(const char *session_name,
                                                 const char *control_url,
                                                 const char *data_url);
 
 /*
+ * NOTE: Not documented with Doxygen as what lttng_create_session_ext()
+ * creates from such a descriptor is useless (a live recording session
+ * without any output). Original documentation follows.
+ *
  * Create a live session descriptor without an output.
  *
  * The 'name' parameter can be left NULL to auto-generate a session name.
@@ -189,27 +578,109 @@ lttng_session_descriptor_snapshot_network_create(const char *name,
 LTTNG_EXPORT extern struct lttng_session_descriptor *
 lttng_session_descriptor_live_create(const char *name, unsigned long long live_timer_interval_us);
 
-/*
- * Create a live session descriptor with a remote output destination.
- *
- * The 'name' parameter can be left NULL to auto-generate a session name.
- *
- * The 'control_url' and 'data_url' must conform to the URL format
- * described above or can be left NULL to use the default network output.
- *
- * The 'live_timer_interval_us' parameter is the live timer's period, specified
- * in microseconds.
- *
- * This parameter can't be 0. There is no default value defined for a live
- * timer's period.
- *
- * Returns an lttng_session_descriptor instance on success, NULL on error.
- */
+/*!
+@brief
+    Creates a recording session descriptor to create a
+    \ref api-session-live-mode "live" recording session
+    named \lt_p{session_name}.
+
+The valid combinations of \lt_p{control_url} and \lt_p{data_url} are:
+
+<table>
+  <tr>
+    <th>\lt_p{control_url}
+    <th>\lt_p{data_url}
+    <th>Behaviour
+  <tr>
+    <td>\c NULL
+    <td>\c NULL
+    <td>
+      Use \lt_def_net_ctrl_url as \lt_p{control_url}.
+
+      Use \lt_def_net_data_url as \lt_p{data_url}.
+  <tr>
+    <td>\ref api-session-one-port-url "Single-port output URL"
+    <td>\c NULL
+    <td>
+      Use the protocol, host, and trace directory (if any) of
+      \lt_p{control_url} and the port \lt_def_net_data_port
+      as \lt_p{data_url}.
+  <tr>
+    <td>Single-port output URL
+    <td>
+      Single-port output URL with the exact same protocol, host,
+      and trace directory (if any) as \lt_p{control_url}.
+    <td>
+      Use the specified output URLs.
+  <tr>
+    <td>\ref api-session-two-port-url "Two-port output URL"
+    <td>\c NULL
+    <td>
+      Use the protocol, host, data port, and trace directory (if any)
+      of \lt_p{control_url} as \lt_p{data_url}.
+</table>
+
+@param[in] session_name
+    @parblock
+    Recording session name.
+
+    If \c NULL, LTTng automatically generates a recording session name
+    when you call lttng_create_session_ext().
+
+    Call lttng_session_descriptor_get_session_name() with the returned
+    recording session descriptor after successfully calling
+    lttng_create_session_ext() to get the generated name.
+    @endparblock
+@param[in] control_url
+    @parblock
+    One of:
+
+    <dl>
+      <dt>\ref api-session-one-port-url "Single-port output URL"
+      <dd>
+       Indicates where (to which relay daemon; see
+       \lt_man{lttng-relayd,8}) to send the control data.
+
+      <dt>\ref api-session-two-port-url "Two-port output URL"
+      <dd>
+       Indicates where to send the control \em and trace data.
+    </dl>
+
+    If \c NULL, this function uses \lt_def_net_url.
+    @endparblock
+@param[in] data_url
+    @parblock
+    \ref api-session-one-port-url "Single-port output URL" which
+    indicates where to send the trace data.
+
+    May be <code>NULL</code>: see the table above for the default value
+    depending on \lt_p{control_url}.
+    @endparblock
+@param[in] live_timer_period
+    Period (µs) of the \ref api-channel-live-timer "live timers" of all
+    the channels of a recording session which lttng_create_session_ext()
+    creates from the returned descriptor.
+
+@returns
+    @parblock
+    Recording session descriptor on success, or \c NULL on error.
+
+    Destroy the returned descriptor with
+    lttng_session_descriptor_destroy().
+    @endparblock
+
+@lt_pre_sess_name_not_auto{session_name}
+@pre
+    \lt_p{control_url} and \lt_p{data_url} satisfy one of the valid
+    combinations shown in the table above.
+@pre
+    \lt_p{live_timer_period}&nbsp;≥&nbsp;1
+*/
 LTTNG_EXPORT extern struct lttng_session_descriptor *
-lttng_session_descriptor_live_network_create(const char *name,
+lttng_session_descriptor_live_network_create(const char *session_name,
                                             const char *control_url,
                                             const char *data_url,
-                                            unsigned long long live_timer_interval_us);
+                                            unsigned long long live_timer_period);
 
 /*
  * Get a session descriptor's session name.
@@ -226,18 +697,75 @@ lttng_session_descriptor_live_network_create(const char *name,
  * NULL, and LTTNG_SESSION_DESCRIPTOR_STATUS_UNSET if the descriptor's
  * name parameter is unset.
  */
+
+/*!
+@brief
+    Sets \lt_p{*session_name} to the name of the recording session
+    which lttng_create_session_ext() created from the recording
+    session descriptor \lt_p{session_descriptor}.
+
+Call this function after successfully calling lttng_create_session_ext()
+when \lt_p{session_descriptor} wasn't created with a specific recording
+session name to get the automatically generated name of the created
+recording session.
+
+@param[in] session_descriptor
+    Recording session descriptor from which lttng_create_session_ext()
+    previously created the recording session of which to get the name.
+@param[out] session_name
+    @parblock
+    <strong>On success</strong>, this function sets \lt_p{*session_name}
+    to the name of the recording session which
+    lttng_create_session_ext() previously created from
+    \lt_p{session_descriptor}.
+
+    \lt_p{session_descriptor} owns \lt_p{*session_name}.
+
+    \lt_p{*session_name} remains valid until the next recording
+    session descriptor function call with \lt_p{session_descriptor}.
+    @endparblock
+
+@retval #LTTNG_SESSION_DESCRIPTOR_STATUS_OK
+    Success.
+@retval #LTTNG_SESSION_DESCRIPTOR_STATUS_INVALID
+    Unsatisfied precondition.
+@retval #LTTNG_SESSION_DESCRIPTOR_STATUS_UNSET
+    The name property of \lt_p{session_descriptor} is not set.
+
+@lt_pre_not_null{session_descriptor}
+@pre
+    You successfully called lttng_create_session_ext() with
+    \lt_p{session_descriptor}.
+@lt_pre_not_null{session_name}
+*/
 LTTNG_EXPORT extern enum lttng_session_descriptor_status
-lttng_session_descriptor_get_session_name(const struct lttng_session_descriptor *descriptor,
-                                         const char **name);
+lttng_session_descriptor_get_session_name(const struct lttng_session_descriptor *session_descriptor,
+                                         const char **session_name);
 
-/*
- * Destroy a local lttng_session object.
- *
- * This does not destroy the session on the session daemon; it releases
- * the resources allocated by the descriptor object.
- */
+/*!
+@brief
+    Destroys the recording session descriptor \lt_p{session_descriptor}.
+
+@note
+    @parblock
+    This function doesn't destroy the recording session which
+    lttng_create_session_ext() created from \lt_p{session_descriptor},
+    but only the descriptor itself.
+
+    Use lttng_destroy_session_ext() to destroy a recording session.
+    @endparblock
+
+@param[in] session_descriptor
+    @parblock
+    Recording session descriptor to destroy.
+
+    May be \c NULL.
+    @endparblock
+*/
 LTTNG_EXPORT extern void
-lttng_session_descriptor_destroy(struct lttng_session_descriptor *descriptor);
+lttng_session_descriptor_destroy(struct lttng_session_descriptor *session_descriptor);
+
+/// @}
 
 #ifdef __cplusplus
 }
This page took 0.030365 seconds and 4 git commands to generate.