Commit | Line | Data |
---|---|---|
ebdb334b JR |
1 | /* |
2 | * Copyright (C) 2020 Francis Deslauriers <francis.deslauriers@efficios.com> | |
3 | * | |
4 | * SPDX-License-Identifier: GPL-2.0-only | |
5 | * | |
6 | */ | |
7 | #ifndef _LTT_MAP_H | |
8 | #define _LTT_MAP_H | |
9 | ||
10 | #include <lttng/map/map.h> | |
11 | #include <common/kernel-ctl/kernel-ctl.h> | |
12 | #include "trace-kernel.h" | |
13 | #include "trace-ust.h" | |
14 | ||
15 | struct map_kv_ht_entry { | |
16 | struct lttng_ht_node_str node; | |
17 | char *key; | |
18 | int64_t value; | |
19 | bool has_overflowed; | |
20 | bool has_underflowed; | |
21 | }; | |
22 | ||
23 | enum lttng_error_code map_kernel_add(struct ltt_kernel_session *ksession, | |
24 | struct lttng_map *map); | |
25 | enum lttng_error_code map_kernel_enable(struct ltt_kernel_session *ksession, | |
26 | struct ltt_kernel_map *kmap); | |
27 | enum lttng_error_code map_kernel_disable(struct ltt_kernel_session *ksession, | |
28 | struct ltt_kernel_map *kmap); | |
29 | ||
30 | int map_ust_add(struct ltt_ust_session *usession, | |
31 | struct lttng_map *map); | |
32 | int map_ust_enable(struct ltt_ust_session *usess, | |
33 | struct ltt_ust_map *umap); | |
34 | int map_ust_disable(struct ltt_ust_session *usess, | |
35 | struct ltt_ust_map *umap); | |
36 | ||
37 | void map_add_or_increment_map_values(struct lttng_ht *map_values, const char *key, | |
38 | int64_t value, bool has_underflowed, bool has_overflowed); | |
39 | ||
40 | int map_new_content_section(struct lttng_map_content *map_content, | |
41 | enum lttng_map_key_value_pair_list_type list_type, | |
42 | bool summed_all_cpus, unsigned int identifier, | |
43 | int cpu, struct lttng_ht *values); | |
44 | ||
45 | #endif /* _LTT_MAP_H */ |