X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Fload.h;h=794f04fad68733bc56140f0f702a2acc9b9fe703;hp=d0adb74ee0e49c0a6d2838f2175cc9c1b93e1d71;hb=2463b7879c00298daa79744cdaae82ac061a4ed8;hpb=d13d3ec74ca6c102989e0fc51e6d433fdfa8b9ae diff --git a/include/lttng/load.h b/include/lttng/load.h index d0adb74ee..794f04fad 100644 --- a/include/lttng/load.h +++ b/include/lttng/load.h @@ -1,19 +1,9 @@ /* - * Copyright (C) 2014 - Jérémie Galarneau - * David Goulet + * Copyright (C) 2014 Jérémie Galarneau + * Copyright (C) 2014 David Goulet * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License, version 2.1 only, - * as published by the Free Software Foundation. + * SPDX-License-Identifier: LGPL-2.1-only * - * This library 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 Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef LTTNG_LOAD_H @@ -64,6 +54,47 @@ const char *lttng_load_session_attr_get_input_url( int lttng_load_session_attr_get_overwrite( struct lttng_load_session_attr *attr); +/* + * Return the destination URL configuration override attribute. This attribute + * indicates a destination URL override to be applied during the loading of the + * configuration. + * + * NULL indicates no override will be applied on configuration load. + */ +const char *lttng_load_session_attr_get_override_url( + struct lttng_load_session_attr *attr); + +/* + * Return the configuration override control URL attribute. This attribute + * indicates a control URL override to be applied during the loading of the + * configuration(s). + * + * NULL indicates no control URL override will be applied on configuration load. + */ +const char *lttng_load_session_attr_get_override_ctrl_url( + struct lttng_load_session_attr *attr); + +/* + * Return the configuration override data URL attribute. This attribute + * indicates a data URL override to be applied during the loading of the + * configuration(s). + * + * NULL indicates no data URL override will be applied on configuration load. + */ +const char *lttng_load_session_attr_get_override_data_url( + struct lttng_load_session_attr *attr); + +/* + * Return the configuration override session name attribute. + * This attribute indicates a session name override to be applied during + * the loading of the configuration(s). + * + * NULL indicates no session name override will be applied on configuration + * load. + */ +const char *lttng_load_session_attr_get_override_session_name( + struct lttng_load_session_attr *attr); + /* * Load session attribute setter family of functions. * @@ -89,12 +120,67 @@ int lttng_load_session_attr_set_input_url( /* * Set the overwrite attribute. If set to true, current sessions matching the - * loaded sessions will be destroyed and the replaced by the sessions being + * loaded sessions will be destroyed and be replaced by the session(s) being * loaded. */ int lttng_load_session_attr_set_overwrite( struct lttng_load_session_attr *attr, int overwrite); +/* + * The following setter are for overriding sessions attributes during the + * loading of a configuration files. Those attributes prevail upon those + * specified in the loaded configuration file. + * */ + +/* + * Set the url override attribute. + * + * Supported format: + * file://TRACEPATH + * NETPROTO://(HOST | IPADDR)[:CTRLPORT[:DATAPORT]][/TRACEPATH] + * + * Where NETPROTO is one of {tcp, tcp6} + * + * See lttng-create(1) for more detail. + */ +int lttng_load_session_attr_set_override_url( + struct lttng_load_session_attr *attr, const char *url); + +/* + * Set the control url override attribute. + * + * Supported format: + * NETPROTO://(HOST | IPADDR)[:PORT][/TRACEPATH] + * + * Where NETPROTO is one of {tcp, tcp6} + * + * See lttng-create(1) for more detail. + */ +int lttng_load_session_attr_set_override_ctrl_url( + struct lttng_load_session_attr *attr, const char *url); + +/* + * Set the data url override attribute. + * + * Supported format: + * NETPROTO://(HOST | IPADDR)[:PORT][/TRACEPATH] + * + * Where NETPROTO is one of {tcp, tcp6} + * + * See lttng-create(1) for more detail. + */ +int lttng_load_session_attr_set_override_data_url( + struct lttng_load_session_attr *attr, const char *url); + +/* + * Set the session name override attribute. + * + * Loading a configuration file defining multiple sessions will fail if a + * session name is provided. + */ +int lttng_load_session_attr_set_override_session_name( + struct lttng_load_session_attr *attr, const char *session_name); + /* * Load session configuration(s). *