Commit | Line | Data |
---|---|---|
b99a0cb3 JG |
1 | /* |
2 | * error-query-internal.h | |
3 | * | |
4 | * Copyright (C) 2021 Jérémie Galarneau <jeremie.galarneau@efficios.com> | |
5 | * | |
6 | * SPDX-License-Identifier: GPL-2.1-only | |
7 | * | |
8 | */ | |
9 | ||
10 | #ifndef LTTNG_ERROR_QUERY_INTERNAL_H | |
11 | #define LTTNG_ERROR_QUERY_INTERNAL_H | |
12 | ||
13 | #include <lttng/lttng.h> | |
14 | #include <common/macros.h> | |
15 | #include <common/payload.h> | |
16 | #include <common/payload-view.h> | |
17 | ||
0f7c2963 JR |
18 | struct mi_writer; |
19 | ||
b99a0cb3 JG |
20 | enum lttng_error_query_target_type { |
21 | LTTNG_ERROR_QUERY_TARGET_TYPE_TRIGGER, | |
8ce7c93a | 22 | LTTNG_ERROR_QUERY_TARGET_TYPE_CONDITION, |
b99a0cb3 JG |
23 | LTTNG_ERROR_QUERY_TARGET_TYPE_ACTION, |
24 | }; | |
25 | ||
26 | LTTNG_HIDDEN | |
27 | enum lttng_error_query_target_type lttng_error_query_get_target_type( | |
28 | const struct lttng_error_query *query); | |
29 | ||
30 | LTTNG_HIDDEN | |
31 | const struct lttng_trigger *lttng_error_query_trigger_borrow_target( | |
32 | const struct lttng_error_query *query); | |
33 | ||
8ce7c93a JG |
34 | LTTNG_HIDDEN |
35 | const struct lttng_trigger *lttng_error_query_condition_borrow_target( | |
36 | const struct lttng_error_query *query); | |
37 | ||
b99a0cb3 JG |
38 | LTTNG_HIDDEN |
39 | const struct lttng_trigger *lttng_error_query_action_borrow_trigger_target( | |
40 | const struct lttng_error_query *query); | |
41 | ||
42 | LTTNG_HIDDEN | |
588c4b0d | 43 | struct lttng_action *lttng_error_query_action_borrow_action_target( |
b99a0cb3 | 44 | const struct lttng_error_query *query, |
588c4b0d | 45 | struct lttng_trigger *trigger); |
b99a0cb3 JG |
46 | |
47 | LTTNG_HIDDEN | |
48 | int lttng_error_query_serialize(const struct lttng_error_query *query, | |
49 | struct lttng_payload *payload); | |
50 | ||
51 | LTTNG_HIDDEN | |
52 | ssize_t lttng_error_query_create_from_payload(struct lttng_payload_view *view, | |
53 | struct lttng_error_query **query); | |
54 | ||
55 | LTTNG_HIDDEN | |
56 | int lttng_error_query_result_serialize( | |
57 | const struct lttng_error_query_result *result, | |
58 | struct lttng_payload *payload); | |
59 | ||
60 | LTTNG_HIDDEN | |
61 | ssize_t lttng_error_query_result_create_from_payload( | |
62 | struct lttng_payload_view *view, | |
63 | struct lttng_error_query_result **result); | |
64 | ||
65 | LTTNG_HIDDEN | |
66 | int lttng_error_query_results_serialize( | |
67 | const struct lttng_error_query_results *results, | |
68 | struct lttng_payload *payload); | |
69 | ||
70 | LTTNG_HIDDEN | |
71 | ssize_t lttng_error_query_results_create_from_payload( | |
72 | struct lttng_payload_view *view, | |
73 | struct lttng_error_query_results **results); | |
74 | ||
75 | LTTNG_HIDDEN | |
76 | struct lttng_error_query_result * | |
77 | lttng_error_query_result_counter_create( | |
78 | const char *name, const char *description, uint64_t value); | |
79 | ||
80 | LTTNG_HIDDEN | |
81 | void lttng_error_query_result_destroy(struct lttng_error_query_result *result); | |
82 | ||
83 | LTTNG_HIDDEN | |
84 | struct lttng_error_query_results *lttng_error_query_results_create(void); | |
85 | ||
86 | /* Ownership of `result` is transferred on success. */ | |
87 | LTTNG_HIDDEN | |
88 | int lttng_error_query_results_add_result( | |
89 | struct lttng_error_query_results *results, | |
90 | struct lttng_error_query_result *result); | |
91 | ||
0f7c2963 JR |
92 | LTTNG_HIDDEN |
93 | enum lttng_error_code lttng_error_query_results_mi_serialize( | |
94 | const struct lttng_error_query_results *results, | |
95 | struct mi_writer *writer); | |
96 | ||
b99a0cb3 | 97 | #endif /* LTTNG_ERROR_QUERY_INTERNAL_H */ |