bytecode: initialize all contexts on event notifier group creation
[lttng-ust.git] / include / lttng / ust-events.h
index d89ddea6147a5659b694af6b53d11dba71861a85..4e3163c4328faf625bb098df56e291411926d3d0 100644 (file)
@@ -426,11 +426,11 @@ struct ust_pending_probe;
 struct lttng_event;
 
 /*
- * Filter return value masks.
+ * Bytecode interpreter return value masks.
  */
-enum lttng_filter_ret {
-       LTTNG_FILTER_DISCARD = 0,
-       LTTNG_FILTER_RECORD_FLAG = (1ULL << 0),
+enum lttng_bytecode_interpreter_ret {
+       LTTNG_INTERPRETER_DISCARD = 0,
+       LTTNG_INTERPRETER_RECORD_FLAG = (1ULL << 0),
        /* Other bits are kept for future use. */
 };
 
@@ -442,8 +442,11 @@ enum lttng_filter_ret {
  */
 struct lttng_bytecode_runtime {
        /* Associated bytecode */
-       struct lttng_ust_filter_bytecode_node *bc;
-       uint64_t (*filter)(void *filter_data, const char *filter_stack_data);
+       struct lttng_ust_bytecode_node *bc;
+       union {
+               uint64_t (*filter)(void *interpreter_data,
+                               const char *interpreter_stack_data);
+       } interpreter_funcs;
        int link_failed;
        struct cds_list_head node;      /* list of bytecode runtime in event */
        /*
@@ -491,7 +494,7 @@ struct lttng_event {
 
        /* LTTng-UST 2.1 starts here */
        /* list of struct lttng_bytecode_runtime, sorted by seqnum */
-       struct cds_list_head bytecode_runtime_head;
+       struct cds_list_head filter_bytecode_runtime_head;
        int has_enablers_without_bytecode;
        /* Backward references: list of lttng_enabler_ref (ref to enablers) */
        struct cds_list_head enablers_ref_head;
@@ -709,8 +712,6 @@ int lttng_channel_disable(struct lttng_channel *channel);
 int lttng_attach_context(struct lttng_ust_context *context_param,
                union ust_args *uargs,
                struct lttng_ctx **ctx, struct lttng_session *session);
-int lttng_session_context_init(struct lttng_ctx **ctx);
-
 void lttng_transport_register(struct lttng_transport *transport);
 void lttng_transport_unregister(struct lttng_transport *transport);
 
@@ -811,7 +812,6 @@ struct lttng_ust_field_iter *
        lttng_ust_field_list_get_iter_next(struct lttng_ust_field_list *list);
 
 void lttng_free_event_filter_runtime(struct lttng_event *event);
-void lttng_filter_sync_state(struct lttng_bytecode_runtime *runtime);
 
 struct cds_list_head *lttng_get_probe_list_head(void);
 int lttng_session_active(void);
@@ -847,6 +847,9 @@ int lttng_enabler_attach_exclusion(struct lttng_enabler *enabler,
                struct lttng_ust_excluder_node *excluder);
 void lttng_enabler_event_link_bytecode(struct lttng_event *event,
                struct lttng_enabler *enabler);
+void lttng_filter_sync_state(struct lttng_bytecode_runtime *runtime);
+int lttng_session_context_init(struct lttng_ctx **ctx);
+
 
 #ifdef __cplusplus
 }
This page took 0.031267 seconds and 4 git commands to generate.