Remove LTTNG_HIDDEN macro
[lttng-ust.git] / libcounter / counter.h
1 /*
2 * SPDX-License-Identifier: MIT
3 *
4 * Copyright (C) 2020 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
5 *
6 * LTTng Counters API
7 */
8
9 #ifndef _LTTNG_COUNTER_H
10 #define _LTTNG_COUNTER_H
11
12 #include <stdint.h>
13 #include <lttng/ust-config.h>
14 #include "counter-types.h"
15
16 /* max_nr_elem is for each dimension. */
17 __attribute__((visibility("hidden")))
18 struct lib_counter *lttng_counter_create(const struct lib_counter_config *config,
19 size_t nr_dimensions,
20 const size_t *max_nr_elem,
21 int64_t global_sum_step,
22 int global_counter_fd,
23 int nr_counter_cpu_fds,
24 const int *counter_cpu_fds,
25 bool is_daemon);
26 __attribute__((visibility("hidden")))
27 void lttng_counter_destroy(struct lib_counter *counter);
28
29 __attribute__((visibility("hidden")))
30 int lttng_counter_set_global_shm(struct lib_counter *counter, int fd);
31
32 __attribute__((visibility("hidden")))
33 int lttng_counter_set_cpu_shm(struct lib_counter *counter, int cpu, int fd);
34
35 __attribute__((visibility("hidden")))
36 int lttng_counter_get_global_shm(struct lib_counter *counter, int *fd, size_t *len);
37
38 __attribute__((visibility("hidden")))
39 int lttng_counter_get_cpu_shm(struct lib_counter *counter, int cpu, int *fd, size_t *len);
40
41 __attribute__((visibility("hidden")))
42 int lttng_counter_read(const struct lib_counter_config *config,
43 struct lib_counter *counter,
44 const size_t *dimension_indexes,
45 int cpu, int64_t *value,
46 bool *overflow, bool *underflow);
47
48 __attribute__((visibility("hidden")))
49 int lttng_counter_aggregate(const struct lib_counter_config *config,
50 struct lib_counter *counter,
51 const size_t *dimension_indexes,
52 int64_t *value,
53 bool *overflow, bool *underflow);
54
55 __attribute__((visibility("hidden")))
56 int lttng_counter_clear(const struct lib_counter_config *config,
57 struct lib_counter *counter,
58 const size_t *dimension_indexes);
59
60 #endif /* _LTTNG_COUNTER_H */
This page took 0.029828 seconds and 4 git commands to generate.