/* Process name (short). */
#define UST_APP_PROCNAME_LEN 16
-struct lttng_filter_bytecode;
+struct lttng_bytecode;
struct lttng_ust_filter_bytecode;
extern int ust_consumerd64_fd, ust_consumerd32_fd;
struct ust_app_ht_key {
const char *name;
- const struct lttng_filter_bytecode *filter;
+ const struct lttng_bytecode *filter;
enum lttng_ust_loglevel_type loglevel_type;
const struct lttng_event_exclusion *exclusion;
};
struct lttng_ust_event attr;
char name[LTTNG_UST_SYM_NAME_LEN];
struct lttng_ht_node_str node;
- struct lttng_filter_bytecode *filter;
+ struct lttng_bytecode *filter;
+ struct lttng_event_exclusion *exclusion;
+};
+
+struct ust_app_token_event_rule {
+ int enabled;
+ int handle;
+ struct lttng_ust_object_data *obj;
+ struct lttng_trigger *trigger;
+ uint64_t token;
+ struct lttng_ht_node_u64 node;
+ /* The event_rule object own this pointer */
+ const struct lttng_bytecode *filter;
+ /* The event_rule object own this pointer */
struct lttng_event_exclusion *exclusion;
};
* Used for path creation
*/
time_t registration_time;
+ /*
+ * Trigger
+ */
+ struct {
+ struct lttng_ust_object_data *handle;
+ struct lttng_pipe *trigger_event_pipe;
+ } token_communication;
+ struct lttng_ht *tokens_ht;
};
#ifdef HAVE_LIBLTTNG_UST_CTL
struct ltt_ust_channel *uchan, struct ltt_ust_context *uctx);
void ust_app_global_update(struct ltt_ust_session *usess, struct ust_app *app);
void ust_app_global_update_all(struct ltt_ust_session *usess);
+void ust_app_global_update_tokens(struct ust_app *app);
+void ust_app_global_update_all_tokens(void);
void ust_app_clean_list(void);
int ust_app_ht_alloc(void);
struct lttng_ust_object_data *data);
enum lttng_error_code ust_app_clear_session(struct ltt_session *session);
+int ust_app_setup_trigger_group(struct ust_app *app);
+
static inline
int ust_app_supported(void)
{
void ust_app_global_update(struct ltt_ust_session *usess, struct ust_app *app)
{}
static inline
+void ust_app_global_update_tokens(struct ust_app *app)
+{}
+static inline
+void ust_app_global_update_all_tokens(void)
+{}
+static inline
+int ust_app_setup_trigger_group(struct ust_app *app)
+{
+ return 0;
+}
+static inline
int ust_app_disable_channel_glb(struct ltt_ust_session *usess,
struct ltt_ust_channel *uchan)
{