/*
- * Copyright (C) 2013 - Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ * Copyright (C) 2013 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License, version 2 only, as
- * published by the Free Software Foundation.
+ * SPDX-License-Identifier: GPL-2.0-only
*
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 51
- * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef _CONFIG_H
const char *value;
};
+struct config_load_session_override_attr {
+ char *path_url;
+ char *ctrl_url;
+ char *data_url;
+ char *session_name;
+};
+
/* Instance of a configuration writer. */
struct config_writer;
* "", only the global entries are relayed.
*
* Returns 0 on success. Negative values are error codes. If the return value
- * is positive, it represents the line number on which a parsing error occured.
+ * is positive, it represents the line number on which a parsing error occurred.
*/
LTTNG_HIDDEN
int config_get_section_entries(const char *path, const char *section,
/*
* Create an instance of a configuration writer.
*
- * fd_output File to which the XML content must be written. The file will be
- * closed once the config_writer has been destroyed.
+ * fd_output File to which the XML content must be written. fd_output is
+ * owned by the caller.
*
* indent If other than 0 the XML will be pretty printed
* with indentation and newline.
*
* element_name Element tag name.
*
- * Returns zero if the XML document could be closed cleanly.
+ * Returns zero if the XML element could be opened.
* Negative values indicate an error.
*/
LTTNG_HIDDEN
int config_writer_open_element(struct config_writer *writer,
const char *element_name);
+/*
+ * Write an element tag attribute.
+ *
+ * writer An instance of a configuration writer.
+ *
+ * name Attribute name.
+ *
+ * Returns zero if the XML element's attribute could be written.
+ * Negative values indicate an error.
+ */
+LTTNG_HIDDEN
+int config_writer_write_attribute(struct config_writer *writer,
+ const char *name, const char *value);
+
/*
* Close the current element tag.
*
* session_name Name of the session to load. Will load all
* sessions from path if NULL.
*
- * override Override current session configuration if it exists.
+ * overwrite Overwrite current session configuration if it exists.
* autoload Tell to load the auto session(s).
+ * overrides The override attribute structure specifying override parameters.
*
* Returns zero if the session could be loaded successfully. Returns
* a negative LTTNG_ERR code on error.
*/
LTTNG_HIDDEN
int config_load_session(const char *path, const char *session_name,
- int override, unsigned int autoload);
+ int overwrite, unsigned int autoload,
+ const struct config_load_session_override_attr *overrides);
#endif /* _CONFIG_H */