X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Ferror-query-internal.h;fp=include%2Flttng%2Ferror-query-internal.h;h=24216f964308eb805402baf079929fca583e009a;hb=b99a0cb3edd93f55e712096a352d64b79d4716bb;hp=0000000000000000000000000000000000000000;hpb=bbadb5e0b423348492c56ef7d8430087d9d9349d;p=lttng-tools.git diff --git a/include/lttng/error-query-internal.h b/include/lttng/error-query-internal.h new file mode 100644 index 000000000..24216f964 --- /dev/null +++ b/include/lttng/error-query-internal.h @@ -0,0 +1,85 @@ +/* + * error-query-internal.h + * + * Copyright (C) 2021 Jérémie Galarneau + * + * SPDX-License-Identifier: GPL-2.1-only + * + */ + +#ifndef LTTNG_ERROR_QUERY_INTERNAL_H +#define LTTNG_ERROR_QUERY_INTERNAL_H + +#include +#include +#include +#include + +enum lttng_error_query_target_type { + LTTNG_ERROR_QUERY_TARGET_TYPE_TRIGGER, + LTTNG_ERROR_QUERY_TARGET_TYPE_ACTION, +}; + +LTTNG_HIDDEN +enum lttng_error_query_target_type lttng_error_query_get_target_type( + const struct lttng_error_query *query); + +LTTNG_HIDDEN +const struct lttng_trigger *lttng_error_query_trigger_borrow_target( + const struct lttng_error_query *query); + +LTTNG_HIDDEN +const struct lttng_trigger *lttng_error_query_action_borrow_trigger_target( + const struct lttng_error_query *query); + +LTTNG_HIDDEN +const struct lttng_action *lttng_error_query_action_borrow_action_target( + const struct lttng_error_query *query, + const struct lttng_trigger *trigger); + +LTTNG_HIDDEN +int lttng_error_query_serialize(const struct lttng_error_query *query, + struct lttng_payload *payload); + +LTTNG_HIDDEN +ssize_t lttng_error_query_create_from_payload(struct lttng_payload_view *view, + struct lttng_error_query **query); + +LTTNG_HIDDEN +int lttng_error_query_result_serialize( + const struct lttng_error_query_result *result, + struct lttng_payload *payload); + +LTTNG_HIDDEN +ssize_t lttng_error_query_result_create_from_payload( + struct lttng_payload_view *view, + struct lttng_error_query_result **result); + +LTTNG_HIDDEN +int lttng_error_query_results_serialize( + const struct lttng_error_query_results *results, + struct lttng_payload *payload); + +LTTNG_HIDDEN +ssize_t lttng_error_query_results_create_from_payload( + struct lttng_payload_view *view, + struct lttng_error_query_results **results); + +LTTNG_HIDDEN +struct lttng_error_query_result * +lttng_error_query_result_counter_create( + const char *name, const char *description, uint64_t value); + +LTTNG_HIDDEN +void lttng_error_query_result_destroy(struct lttng_error_query_result *result); + +LTTNG_HIDDEN +struct lttng_error_query_results *lttng_error_query_results_create(void); + +/* Ownership of `result` is transferred on success. */ +LTTNG_HIDDEN +int lttng_error_query_results_add_result( + struct lttng_error_query_results *results, + struct lttng_error_query_result *result); + +#endif /* LTTNG_ERROR_QUERY_INTERNAL_H */