X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=libcounter%2Fcounter.h;h=88e113f9a42a02f5eb905e08d50bcf6f524d1951;hb=c0c0989ab70574e09b2f7e8b48c2da6af664a849;hp=54f83009c896e9e3bbbfd7b1db061d7053759335;hpb=ebabbf580131acd1fe246c4d31fc5c044d36a038;p=lttng-ust.git diff --git a/libcounter/counter.h b/libcounter/counter.h index 54f83009..88e113f9 100644 --- a/libcounter/counter.h +++ b/libcounter/counter.h @@ -1,27 +1,9 @@ /* - * lttng/counter.h - * - * LTTng Counters API + * SPDX-License-Identifier: MIT * * Copyright (C) 2020 Mathieu Desnoyers * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * LTTng Counters API */ #ifndef _LTTNG_COUNTER_H @@ -30,8 +12,10 @@ #include #include #include "counter-types.h" +#include "helper.h" /* max_nr_elem is for each dimension. */ +LTTNG_HIDDEN struct lib_counter *lttng_counter_create(const struct lib_counter_config *config, size_t nr_dimensions, const size_t *max_nr_elem, @@ -40,24 +24,32 @@ struct lib_counter *lttng_counter_create(const struct lib_counter_config *config int nr_counter_cpu_fds, const int *counter_cpu_fds, bool is_daemon); +LTTNG_HIDDEN void lttng_counter_destroy(struct lib_counter *counter); +LTTNG_HIDDEN int lttng_counter_set_global_shm(struct lib_counter *counter, int fd); +LTTNG_HIDDEN int lttng_counter_set_cpu_shm(struct lib_counter *counter, int cpu, int fd); +LTTNG_HIDDEN int lttng_counter_get_global_shm(struct lib_counter *counter, int *fd, size_t *len); +LTTNG_HIDDEN int lttng_counter_get_cpu_shm(struct lib_counter *counter, int cpu, int *fd, size_t *len); +LTTNG_HIDDEN int lttng_counter_read(const struct lib_counter_config *config, struct lib_counter *counter, const size_t *dimension_indexes, int cpu, int64_t *value, bool *overflow, bool *underflow); +LTTNG_HIDDEN int lttng_counter_aggregate(const struct lib_counter_config *config, struct lib_counter *counter, const size_t *dimension_indexes, int64_t *value, bool *overflow, bool *underflow); +LTTNG_HIDDEN int lttng_counter_clear(const struct lib_counter_config *config, struct lib_counter *counter, const size_t *dimension_indexes);