* 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.
- *
+ *
* 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 _LTTNG_SESSIOND_COMM_H
#define _LTTNG_SESSIOND_COMM_H
-#define _GNU_SOURCE
#include <limits.h>
#include <lttng/lttng.h>
#include <lttng/snapshot-internal.h>
LTTNG_CREATE_SESSION_SNAPSHOT = 29,
LTTNG_CREATE_SESSION_LIVE = 30,
LTTNG_SAVE_SESSION = 31,
+ LTTNG_TRACK_PID = 32,
+ LTTNG_UNTRACK_PID = 33,
+ LTTNG_LIST_TRACKER_PIDS = 34,
+ LTTNG_SET_SESSION_SHM_PATH = 40,
};
enum lttcomm_relayd_command {
struct {
struct lttng_save_session_attr attr; /* struct already packed */
} LTTNG_PACKED save_session;
+ struct {
+ char shm_path[PATH_MAX];
+ } LTTNG_PACKED set_shm_path;
+ struct {
+ uint32_t pid;
+ } LTTNG_PACKED pid_tracker;
} u;
} LTTNG_PACKED;
struct lttng_event_exclusion {
uint32_t count;
char padding[LTTNG_EVENT_EXCLUSION_PADDING];
- char names[LTTNG_SYMBOL_NAME_LEN][0];
+ char names[0][LTTNG_SYMBOL_NAME_LEN];
} LTTNG_PACKED;
+#define LTTNG_EVENT_EXCLUSION_NAME_AT(_exclusion, _i) \
+ (&(_exclusion)->names[_i][0])
+
/*
* Data structure for the response from sessiond to the lttng client.
*/
* because the application can be in the tracing for instance.
*/
uint32_t ust_app_uid;
+ char root_shm_path[PATH_MAX];
+ char shm_path[PATH_MAX];
} LTTNG_PACKED ask_channel;
struct {
uint64_t key;