X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=src%2Fcommon%2Fsessiond-comm%2Fsessiond-comm.h;h=4a204c02e401fbbd8852545975dc3cce67bcc3bc;hb=f5501dadeacee8f75aa9e5dca65adea504e976f7;hp=1426fcf203548dfe8c95ebeeae6050662ca917a1;hpb=d07ceecd2f35ccf383c7529a18dcc9b9c4b8cb17;p=lttng-tools.git diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index 1426fcf20..4a204c02e 100644 --- a/src/common/sessiond-comm/sessiond-comm.h +++ b/src/common/sessiond-comm/sessiond-comm.h @@ -6,12 +6,12 @@ * 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. @@ -25,7 +25,6 @@ #ifndef _LTTNG_SESSIOND_COMM_H #define _LTTNG_SESSIOND_COMM_H -#define _GNU_SOURCE #include #include #include @@ -91,6 +90,10 @@ enum lttcomm_sessiond_command { 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 { @@ -267,6 +270,8 @@ struct lttcomm_session_msg { struct { char channel_name[LTTNG_SYMBOL_NAME_LEN]; struct lttng_event_context ctx LTTNG_PACKED; + uint32_t provider_name_len; + uint32_t context_name_len; } LTTNG_PACKED context; /* Use by register_consumer */ struct { @@ -296,6 +301,12 @@ struct lttcomm_session_msg { 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; @@ -324,9 +335,12 @@ struct lttng_filter_bytecode { 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. */ @@ -424,6 +438,8 @@ struct lttcomm_consumer_msg { * 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;