X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Fsessiond-comm.h;h=9a33479f3da604ad00dc5e277a1c26e36a0a321b;hb=bccd20a34b256e4d8ecc4f07fd2771da9ac541d4;hp=229b91e5901cae11e83a4675f48c047e8e07c32f;hpb=0c89d7959f4af7a2b39e925b2e8dc3a8954ccfa5;p=lttng-tools.git diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index 229b91e59..9a33479f3 100644 --- a/src/common/sessiond-comm/sessiond-comm.h +++ b/src/common/sessiond-comm/sessiond-comm.h @@ -81,7 +81,7 @@ enum lttcomm_sessiond_command { LTTNG_ENABLE_CONSUMER = 20, LTTNG_SET_CONSUMER_URI = 21, LTTNG_ENABLE_EVENT_WITH_FILTER = 22, - /* Unused */ + LTTNG_ENABLE_EVENT_WITH_EXCLUSION = 23, LTTNG_DATA_PENDING = 24, LTTNG_SNAPSHOT_ADD_OUTPUT = 25, LTTNG_SNAPSHOT_DEL_OUTPUT = 26, @@ -230,6 +230,14 @@ struct lttcomm_session_msg { struct lttng_event event; /* Length of following bytecode for filter. */ uint32_t bytecode_len; + /* exclusion data */ + uint32_t exclusion_count; + /* + * After this structure, the following variable-length + * items are transmitted: + * - char exclusion_names[LTTNG_SYMBOL_NAME_LEN][exclusion_count] + * - unsigned char filter_bytecode[bytecode_len] + */ } LTTNG_PACKED enable; /* Create channel */ struct { @@ -284,6 +292,18 @@ struct lttng_filter_bytecode { char data[0]; } LTTNG_PACKED; +/* + * Event exclusion data. At the end of the structure, there will actually + * by zero or more names, where the actual number of names is given by + * the 'count' item of the structure. + */ +#define LTTNG_EVENT_EXCLUSION_PADDING 32 +struct lttng_event_exclusion { + uint32_t count; + char padding[LTTNG_EVENT_EXCLUSION_PADDING]; + char names[LTTNG_SYMBOL_NAME_LEN][0]; +} LTTNG_PACKED; + /* * Data structure for the response from sessiond to the lttng client. */