This file is indexed.

/usr/include/lttng/load.h is in liblttng-ctl-dev 2.10.2-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
/*
 * Copyright (C) 2014 - Jérémie Galarneau <jeremie.galarneau@efficios.com>
 *                      David Goulet <dgoulet@efficios.com>
 *
 * 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.
 *
 * 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
#define LTTNG_LOAD_H

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The lttng_load_session_attr object is opaque to the user. Use the helper
 * functions below to use it.
 */
struct lttng_load_session_attr;

/*
 * Return a newly allocated load session attribute object or NULL on error.
 */
struct lttng_load_session_attr *lttng_load_session_attr_create(void);

/*
 * Free a given load session attribute object.
 */
void lttng_load_session_attr_destroy(struct lttng_load_session_attr *attr);


/*
 * Load session attribute getter family of functions.
 */

/* Return session name. NULL indicates all sessions must be loaded. */
const char *lttng_load_session_attr_get_session_name(
	struct lttng_load_session_attr *attr);
/*
 * Return input URL. A NULL value indicates the default session
 * configuration location. The URL format used is documented in lttng-create(1).
 * NULL indicates that the default session configuration path is used.
 */
const char *lttng_load_session_attr_get_input_url(
	struct lttng_load_session_attr *attr);

/*
 * Return the configuration overwrite attribute. This attribute indicates
 * whether or not the loaded session should be loaded even if a session with the
 * same name already exists. If such a session exists, it is destroyed before
 * the replacement is loaded.
 */
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.
 *
 * For every set* call, 0 is returned on success or else -LTTNG_ERR_INVALID is
 * returned indicating that at least one given parameter is invalid.
 */

/*
 * Set the name of the session to load. A NULL name means all sessions
 * found at the input URL will be loaded.
 */
int lttng_load_session_attr_set_session_name(
	struct lttng_load_session_attr *attr, const char *session_name);

/*
 * Set the URL of the session configuration to load. A NULL value indicates the
 * use of the default session configuration location.
 *
 * Note that file:// is the only supported URL format.
 */
int lttng_load_session_attr_set_input_url(
	struct lttng_load_session_attr *attr, const char *url);

/*
 * Set the overwrite attribute. If set to true, current sessions matching the
 * 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).
 *
 * The lttng_load_session_attr object must not be NULL. No ownership of the
 * object is kept by the function; it must be released by the caller.
 *
 * Returns 0 on success or a negative LTTNG_ERR value on error.
 */
int lttng_load_session(struct lttng_load_session_attr *attr);

#ifdef __cplusplus
}
#endif

#endif /* LTTNG_LOAD_H */