+LTTNG_HIDDEN
+void lttng_action_get(struct lttng_action *action);
+
+LTTNG_HIDDEN
+void lttng_action_put(struct lttng_action *action);
+
+LTTNG_HIDDEN
+const char* lttng_action_type_string(enum lttng_action_type action_type);
+
+LTTNG_HIDDEN
+void lttng_action_increase_execution_request_count(struct lttng_action *action);
+
+LTTNG_HIDDEN
+void lttng_action_increase_execution_count(struct lttng_action *action);
+
+LTTNG_HIDDEN
+void lttng_action_increase_execution_failure_count(struct lttng_action *action);
+
+LTTNG_HIDDEN
+bool lttng_action_should_execute(const struct lttng_action *action);
+
+LTTNG_HIDDEN
+enum lttng_action_status lttng_action_add_error_query_results(
+ const struct lttng_action *action,
+ struct lttng_error_query_results *results);
+
+/*
+ * For use by the various lttng_action implementation. Implements the default
+ * behavior to the generic error "execution failure counter" that all actions
+ * (except list, which passes-through) provide.
+ */
+LTTNG_HIDDEN
+enum lttng_action_status lttng_action_generic_add_error_query_results(
+ const struct lttng_action *action,
+ struct lttng_error_query_results *results);
+LTTNG_HIDDEN
+enum lttng_error_code lttng_action_mi_serialize(const struct lttng_trigger *trigger,
+ const struct lttng_action *action,
+ struct mi_writer *writer,
+ const struct mi_lttng_error_query_callbacks
+ *error_query_callbacks,
+ struct lttng_dynamic_array *action_path_indexes);
+