Fix: pass private data to context callbacks
[lttng-ust.git] / libcounter / counter.h
CommitLineData
ebabbf58 1/*
c0c0989a 2 * SPDX-License-Identifier: MIT
ebabbf58
MD
3 *
4 * Copyright (C) 2020 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
5 *
c0c0989a 6 * LTTng Counters API
ebabbf58
MD
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. */
17struct lib_counter *lttng_counter_create(const struct lib_counter_config *config,
18 size_t nr_dimensions,
19 const size_t *max_nr_elem,
20 int64_t global_sum_step,
21 int global_counter_fd,
22 int nr_counter_cpu_fds,
23 const int *counter_cpu_fds,
1d18d519
MJ
24 bool is_daemon)
25 __attribute__((visibility("hidden")));
ebabbf58 26
1d18d519
MJ
27void lttng_counter_destroy(struct lib_counter *counter)
28 __attribute__((visibility("hidden")));
ddabe860 29
1d18d519
MJ
30int lttng_counter_set_global_shm(struct lib_counter *counter, int fd)
31 __attribute__((visibility("hidden")));
ebabbf58 32
1d18d519
MJ
33int lttng_counter_set_cpu_shm(struct lib_counter *counter, int cpu, int fd)
34 __attribute__((visibility("hidden")));
ddabe860 35
1d18d519
MJ
36int lttng_counter_get_global_shm(struct lib_counter *counter, int *fd, size_t *len)
37 __attribute__((visibility("hidden")));
38
39int lttng_counter_get_cpu_shm(struct lib_counter *counter, int cpu, int *fd, size_t *len)
40 __attribute__((visibility("hidden")));
ebabbf58
MD
41
42int 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,
1d18d519
MJ
46 bool *overflow, bool *underflow)
47 __attribute__((visibility("hidden")));
ddabe860 48
ebabbf58
MD
49int lttng_counter_aggregate(const struct lib_counter_config *config,
50 struct lib_counter *counter,
51 const size_t *dimension_indexes,
52 int64_t *value,
1d18d519
MJ
53 bool *overflow, bool *underflow)
54 __attribute__((visibility("hidden")));
ddabe860 55
ebabbf58
MD
56int lttng_counter_clear(const struct lib_counter_config *config,
57 struct lib_counter *counter,
1d18d519
MJ
58 const size_t *dimension_indexes)
59 __attribute__((visibility("hidden")));
ebabbf58
MD
60
61#endif /* _LTTNG_COUNTER_H */
This page took 0.02624 seconds and 4 git commands to generate.