X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Fsessiond-comm.h;h=bae083dd83018e002afa36e2b648f586fca9bac1;hb=c6aa2d41cdd9daddc133e43cf6e1f2daae818cdd;hp=96106a77dee0e1a35905313d8c0d0e592b16e3bd;hpb=a4baae1b0463bc4ce65c2a458c4a941e7fabc594;p=lttng-tools.git diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index 96106a77d..bae083dd8 100644 --- a/src/common/sessiond-comm/sessiond-comm.h +++ b/src/common/sessiond-comm/sessiond-comm.h @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -89,6 +90,7 @@ enum lttcomm_sessiond_command { LTTNG_SNAPSHOT_RECORD = 28, LTTNG_CREATE_SESSION_SNAPSHOT = 29, LTTNG_CREATE_SESSION_LIVE = 30, + LTTNG_SAVE_SESSION = 31, }; enum lttcomm_relayd_command { @@ -136,6 +138,7 @@ enum lttcomm_return_code { LTTCOMM_CONSUMERD_FATAL, /* Fatal error. */ LTTCOMM_CONSUMERD_RELAYD_FAIL, /* Error on remote relayd */ LTTCOMM_CONSUMERD_CHANNEL_FAIL, /* Channel creation failed. */ + LTTCOMM_CONSUMERD_CHAN_NOT_FOUND, /* Channel not found. */ /* MUST be last element */ LTTCOMM_NR, /* Last element */ @@ -231,7 +234,9 @@ struct lttcomm_session_msg { /* Event data */ struct { char channel_name[LTTNG_SYMBOL_NAME_LEN]; - struct lttng_event event; + struct lttng_event event LTTNG_PACKED; + /* Length of following filter expression. */ + uint32_t expression_len; /* Length of following bytecode for filter. */ uint32_t bytecode_len; /* exclusion data */ @@ -240,17 +245,18 @@ struct lttcomm_session_msg { * After this structure, the following variable-length * items are transmitted: * - char exclusion_names[LTTNG_SYMBOL_NAME_LEN][exclusion_count] + * - unsigned char filter_expression[expression_len] * - unsigned char filter_bytecode[bytecode_len] */ } LTTNG_PACKED enable; /* Create channel */ struct { - struct lttng_channel chan; + struct lttng_channel chan LTTNG_PACKED; } LTTNG_PACKED channel; /* Context */ struct { char channel_name[LTTNG_SYMBOL_NAME_LEN]; - struct lttng_event_context ctx; + struct lttng_event_context ctx LTTNG_PACKED; } LTTNG_PACKED context; /* Use by register_consumer */ struct { @@ -267,16 +273,19 @@ struct lttcomm_session_msg { uint32_t size; } LTTNG_PACKED uri; struct { - struct lttng_snapshot_output output; + struct lttng_snapshot_output output LTTNG_PACKED; } LTTNG_PACKED snapshot_output; struct { uint32_t wait; - struct lttng_snapshot_output output; + struct lttng_snapshot_output output LTTNG_PACKED; } LTTNG_PACKED snapshot_record; struct { uint32_t nb_uri; unsigned int timer_interval; /* usec */ } LTTNG_PACKED session_live; + struct { + struct lttng_save_session_attr attr; /* struct already packed */ + } LTTNG_PACKED save_session; } u; } LTTNG_PACKED;