X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Ftrigger%2Ftrigger-internal.h;h=c5ee9c64b4c1db9642251417fa812f3e18a9a68d;hp=20989bd99e700c0c547de38ea18e9060e8da972e;hb=e45dd625d3e802d8e6e2ec3de180c73546e8f9fe;hpb=0de2479d5f5a287d31c69e34ea5202a69019f224 diff --git a/include/lttng/trigger/trigger-internal.h b/include/lttng/trigger/trigger-internal.h index 20989bd99..c5ee9c64b 100644 --- a/include/lttng/trigger/trigger-internal.h +++ b/include/lttng/trigger/trigger-internal.h @@ -30,11 +30,6 @@ struct lttng_trigger { char *name; /* For now only the uid portion of the credentials is used. */ struct lttng_credentials creds; - struct { - enum lttng_trigger_firing_policy type; - uint64_t threshold; - uint64_t current_count; - } firing_policy; /* * Internal use only. * The unique token passed to the tracer to identify an event-rule @@ -60,10 +55,6 @@ struct lttng_trigger_comm { uint32_t length; /* Includes '\0' terminator. */ uint32_t name_length; - /* Firing policy. */ - /* Maps to enum lttng_trigger_firing_policy. */ - uint8_t firing_policy_type; - uint64_t firing_policy_threshold; /* A null-terminated name, a condition, and an action follow. */ char payload[]; } LTTNG_PACKED; @@ -84,7 +75,7 @@ int lttng_trigger_serialize(const struct lttng_trigger *trigger, struct lttng_payload *payload); LTTNG_HIDDEN -bool lttng_trigger_validate(struct lttng_trigger *trigger); +bool lttng_trigger_validate(const struct lttng_trigger *trigger); LTTNG_HIDDEN int lttng_trigger_assign_name( @@ -162,20 +153,6 @@ LTTNG_HIDDEN void lttng_trigger_set_credentials(struct lttng_trigger *trigger, const struct lttng_credentials *creds); - -/* - * Fire the trigger. - * Increments the occurrence count. - */ -LTTNG_HIDDEN -void lttng_trigger_fire(struct lttng_trigger *trigger); - -/* - * Check if the trigger would fire. - */ -LTTNG_HIDDEN -bool lttng_trigger_should_fire(const struct lttng_trigger *trigger); - /* * Return the type of any underlying domain restriction. If no particular * requirement is present, returns LTTNG_DOMAIN_NONE. @@ -193,4 +170,16 @@ enum lttng_error_code lttng_trigger_generate_bytecode( struct lttng_trigger *trigger, const struct lttng_credentials *creds); +LTTNG_HIDDEN +struct lttng_trigger *lttng_trigger_copy(const struct lttng_trigger *trigger); + +/* + * A given trigger needs a tracer notifier if + * it has an event-rule condition, + * AND + * it has one or more sessiond-execution action. + */ +LTTNG_HIDDEN +bool lttng_trigger_needs_tracer_notifier(const struct lttng_trigger *trigger); + #endif /* LTTNG_TRIGGER_INTERNAL_H */