X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Flttng.h;h=85fdfaa257605f36ebbd7d99030e8f3ca32e97b9;hb=3fd2739803ea7273c6483060ac042942af06b1d4;hp=0307536d387e600c8d8127b923883af3a56d5385;hpb=b9dfb1671626365019a72318fb131eb321244245;p=lttng-tools.git diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index 0307536d3..85fdfaa25 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -226,7 +226,7 @@ struct lttng_event_function_attr { * * The structures should be initialized to zero before use. */ -#define LTTNG_EVENT_PADDING1 15 +#define LTTNG_EVENT_PADDING1 14 #define LTTNG_EVENT_PADDING2 LTTNG_SYMBOL_NAME_LEN + 32 struct lttng_event { enum lttng_event_type type; @@ -238,6 +238,7 @@ struct lttng_event { int32_t enabled; /* Does not apply: -1 */ pid_t pid; unsigned char filter; /* filter enabled ? */ + unsigned char exclusion; /* exclusions added ? */ char padding[LTTNG_EVENT_PADDING1]; @@ -572,6 +573,23 @@ extern int lttng_enable_event_with_filter(struct lttng_handle *handle, struct lttng_event *event, const char *channel_name, const char *filter_expression); +/* + * Create or enable an event with a filter and/or exclusions. + * + * If the event you are trying to enable does not exist, it will be created, + * else it is enabled. + * If ev is NULL, all events are enabled with the filter and exclusion options. + * If channel_name is NULL, the default channel is used (channel0) and created + * if not found. + * If filter_expression is NULL, an event without associated filter is + * created. + * If exclusion count is zero, the event will be created without exclusions. + */ +extern int lttng_enable_event_with_exclusions(struct lttng_handle *handle, + struct lttng_event *event, const char *channel_name, + const char *filter_expression, + int exclusion_count, char **exclusion_names); + /* * Create or enable a channel. *