X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Fsessiond-comm.h;h=eb13734a684912b9fc3c11d086c1433b704108e8;hb=44a5e5eb99f1d8b528f83fda5585677a3882f5f5;hp=580beec32b74953a4f08099220837183edb40b1e;hpb=de5e90863d3824dd3a5bc52d4cba1cd9b0329200;p=lttng-tools.git diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index 580beec32..eb13734a6 100644 --- a/src/common/sessiond-comm/sessiond-comm.h +++ b/src/common/sessiond-comm/sessiond-comm.h @@ -72,6 +72,7 @@ enum lttcomm_sessiond_command { LTTNG_START_TRACE, LTTNG_STOP_TRACE, LTTNG_LIST_TRACEPOINT_FIELDS, + /* Consumer */ LTTNG_DISABLE_CONSUMER, LTTNG_ENABLE_CONSUMER, @@ -83,6 +84,8 @@ enum lttcomm_sessiond_command { RELAYD_UPDATE_SYNC_INFO, RELAYD_VERSION, RELAYD_SEND_METADATA, + LTTNG_SET_FILTER, + LTTNG_HEALTH_CHECK, }; /* @@ -186,6 +189,9 @@ enum lttcomm_return_code { LTTCOMM_ENABLE_CONSUMER_FAIL, /* Enabling consumer failed */ LTTCOMM_RELAYD_SESSION_FAIL, /* lttng-relayd create session failed */ LTTCOMM_RELAYD_VERSION_FAIL, /* lttng-relayd not compatible */ + LTTCOMM_FILTER_INVAL, /* Invalid filter bytecode */ + LTTCOMM_FILTER_NOMEM, /* Lack of memory for filter bytecode */ + LTTCOMM_FILTER_EXIST, /* Filter already exist */ /* MUST be last element */ LTTCOMM_NR, /* Last element */ @@ -280,9 +286,28 @@ struct lttcomm_session_msg { struct lttng_uri ctrl_uri; struct lttng_uri data_uri; } create_uri; + struct { + char channel_name[NAME_MAX]; + char event_name[NAME_MAX]; + /* Length of following bytecode */ + uint32_t bytecode_len; + } filter; } u; }; +#define LTTNG_FILTER_MAX_LEN 65336 + +/* + * Filter bytecode data. The reloc table is located at the end of the + * bytecode. It is made of tuples: (uint16_t, var. len. string). It + * starts at reloc_table_offset. + */ +struct lttng_filter_bytecode { + uint16_t len; /* len of data */ + uint16_t reloc_table_offset; + char data[0]; +}; + /* * Data structure for the response from sessiond to the lttng client. */ @@ -295,6 +320,15 @@ struct lttcomm_lttng_msg { char payload[]; }; +struct lttcomm_health_msg { + uint32_t component; + uint32_t cmd; +}; + +struct lttcomm_health_data { + uint32_t ret_code; +}; + /* * lttcomm_consumer_msg is the message sent from sessiond to consumerd * to either add a channel, add a stream, update a stream, or stop