X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Fcondition%2Fevent-rule-internal.h;h=0f2f3fbf6c3e7971a587bdb2bcdff3b8a79e3087;hp=55b61949a0406688f48ec9ddf4e6e4d3115a689e;hb=51dbe9857c314b9b0dc53b4f9c367f7db659a6b4;hpb=381140130b556bdccc8c7a45d843dcd34c6d7b8f diff --git a/include/lttng/condition/event-rule-internal.h b/include/lttng/condition/event-rule-internal.h index 55b61949a..0f2f3fbf6 100644 --- a/include/lttng/condition/event-rule-internal.h +++ b/include/lttng/condition/event-rule-internal.h @@ -14,11 +14,16 @@ #include #include +struct lttng_capture_descriptor { + struct lttng_event_expr *event_expression; + struct lttng_bytecode *bytecode; +}; + struct lttng_condition_event_rule { struct lttng_condition parent; struct lttng_event_rule *rule; - /* Array of `struct lttng_event_expr *`. */ + /* Array of `struct lttng_capture_descriptor *`. */ struct lttng_dynamic_pointer_array capture_descriptors; }; @@ -34,7 +39,6 @@ struct lttng_evaluation_event_rule_comm { char payload[]; } LTTNG_PACKED; - LTTNG_HIDDEN ssize_t lttng_condition_event_rule_create_from_payload( struct lttng_payload_view *view, @@ -55,4 +59,14 @@ ssize_t lttng_evaluation_event_rule_create_from_payload( struct lttng_payload_view *view, struct lttng_evaluation **_evaluation); +LTTNG_HIDDEN +enum lttng_error_code +lttng_condition_event_rule_generate_capture_descriptor_bytecode( + struct lttng_condition *condition); + +LTTNG_HIDDEN +const struct lttng_bytecode * +lttng_condition_event_rule_get_capture_bytecode_at_index( + const struct lttng_condition *condition, unsigned int index); + #endif /* LTTNG_CONDITION_EVENT_RULE_INTERNAL_H */