X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Flttng.h;h=0c32d941af6e17e859a41857c0d800d7be0cb5c2;hp=4741b68778f77522ad5d2cb975a4e80731bb01f5;hb=fceb65dfca20fb1e2071a44ada9fe61384d2b890;hpb=00e2e675d54dc726a7c8f8887c889cc8ef022003 diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index 4741b6877..0c32d941a 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -269,7 +269,7 @@ struct lttng_event_function_attr { * * The structures should be initialized to zero before use. */ -#define LTTNG_EVENT_PADDING1 16 +#define LTTNG_EVENT_PADDING1 15 #define LTTNG_EVENT_PADDING2 LTTNG_SYMBOL_NAME_LEN + 32 struct lttng_event { enum lttng_event_type type; @@ -280,6 +280,7 @@ struct lttng_event { int32_t enabled; /* Does not apply: -1 */ pid_t pid; + unsigned char filter; /* filter enabled ? */ char padding[LTTNG_EVENT_PADDING1]; @@ -548,6 +549,17 @@ extern int lttng_add_context(struct lttng_handle *handle, extern int lttng_enable_event(struct lttng_handle *handle, struct lttng_event *ev, const char *channel_name); +/* + * Apply a filter expression to an event. + * + * If event_name is NULL, the filter is applied to all events of the channel. + * If channel_name is NULL, a lookup of the event's channel is done. + * If both are NULL, the filter is applied to all events of all channels. + */ +extern int lttng_set_event_filter(struct lttng_handle *handle, + const char *event_name, + const char *channel_name, + const char *filter_expression); /* * Create or enable a channel. * The channel name cannot be NULL.