char configuration_url[PATH_MAX];
/* Overwrite the session configuration file if it exists. */
uint8_t overwrite;
+ /* Omit the sessions' name(s). */
+ uint8_t omit_name;
+ /* Omit the sessions' output(s). */
+ uint8_t omit_output;
} LTTNG_PACKED;
#endif /* LTTNG_SAVE_INTERNAL_ABI_H */
*/
int lttng_save_session_attr_get_overwrite(
struct lttng_save_session_attr *attr);
+/*
+ * Return the omit name configuration attribute. This attribute indicates
+ * whether or not the saved sessions' names should be omitted.
+ */
+int lttng_save_session_attr_get_omit_name(
+ struct lttng_save_session_attr *attr);
+/*
+ * Return the omit output configuration attribute. This attribute indicates
+ * whether or not the saved sessions' output configuration should be omitted.
+ */
+int lttng_save_session_attr_get_omit_output(
+ struct lttng_save_session_attr *attr);
/*
* Save session attribute setter family functions.
*/
int lttng_save_session_attr_set_overwrite(
struct lttng_save_session_attr *attr, int overwrite);
+/*
+ * Set the omit name attribute. If set to true, the sessions' names are omitted
+ * from the resulting session configuration file.
+ */
+int lttng_save_session_attr_set_omit_name(
+ struct lttng_save_session_attr *attr, int omit_name);
+/*
+ * Set the omit output attribute. If set to true, the sessions' output
+ * configurations are omitted from the resulting session configuration file.
+ */
+int lttng_save_session_attr_set_omit_output(
+ struct lttng_save_session_attr *attr, int omit_output);
/*
* Save session configuration(s).
return attr ? attr->overwrite : -LTTNG_ERR_INVALID;
}
+int lttng_save_session_attr_get_omit_name(
+ struct lttng_save_session_attr *attr)
+{
+ return attr ? attr->omit_name : -LTTNG_ERR_INVALID;
+}
+
+int lttng_save_session_attr_get_omit_output(
+ struct lttng_save_session_attr *attr)
+{
+ return attr ? attr->omit_output : -LTTNG_ERR_INVALID;
+}
+
int lttng_save_session_attr_set_session_name(
struct lttng_save_session_attr *attr, const char *session_name)
{
return ret;
}
+int lttng_save_session_attr_set_omit_name(
+ struct lttng_save_session_attr *attr, int omit_name)
+{
+ int ret = 0;
+
+ if (!attr) {
+ ret = -LTTNG_ERR_INVALID;
+ goto end;
+ }
+
+ attr->omit_name = !!omit_name;
+end:
+ return ret;
+}
+
+int lttng_save_session_attr_set_omit_output(
+ struct lttng_save_session_attr *attr, int omit_output)
+{
+ int ret = 0;
+
+ if (!attr) {
+ ret = -LTTNG_ERR_INVALID;
+ goto end;
+ }
+
+ attr->omit_output = !!omit_output;
+end:
+ return ret;
+}
+
/*
* The lttng-ctl API does not expose all the information needed to save the
* session configurations. Thus, we must send a save command to the session