X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Ftrace-chunk-registry.h;h=f61e560808486c37b1640d3ed04bce0a6cf48555;hb=3afa94aeca5a0daae40fd7b6cc96b7e4c150c7d8;hp=23df91a3eca24a13ac64b0eb3a0a5d9b983d5ebf;hpb=e10aec8f225c0822811c65401710a039d7e2d7d7;p=lttng-tools.git diff --git a/src/common/trace-chunk-registry.h b/src/common/trace-chunk-registry.h index 23df91a3e..f61e56080 100644 --- a/src/common/trace-chunk-registry.h +++ b/src/common/trace-chunk-registry.h @@ -1,18 +1,8 @@ /* - * Copyright (C) 2019 - Jérémie Galarneau + * Copyright (C) 2019 Jérémie Galarneau * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License, version 2.1 only, - * as published by the Free Software Foundation. + * SPDX-License-Identifier: LGPL-2.1-only * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef LTTNG_TRACE_CHUNK_REGISTRY_H @@ -24,6 +14,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + struct lttng_trace_chunk_registry; /* @@ -41,7 +35,6 @@ struct lttng_trace_chunk_registry; * * Note that a trace chunk registry may only be accessed by an RCU thread. */ -LTTNG_HIDDEN struct lttng_trace_chunk_registry *lttng_trace_chunk_registry_create(void); /* @@ -49,7 +42,6 @@ struct lttng_trace_chunk_registry *lttng_trace_chunk_registry_create(void); * (i.e. all references to the trace chunks it contains must be released) before * it is destroyed. */ -LTTNG_HIDDEN void lttng_trace_chunk_registry_destroy( struct lttng_trace_chunk_registry *registry); @@ -66,7 +58,6 @@ void lttng_trace_chunk_registry_destroy( * * Returns an lttng_trace_chunk on success, NULL on error. */ -LTTNG_HIDDEN struct lttng_trace_chunk *lttng_trace_chunk_registry_publish_chunk( struct lttng_trace_chunk_registry *registry, uint64_t session_id, struct lttng_trace_chunk *chunk); @@ -77,26 +68,36 @@ struct lttng_trace_chunk *lttng_trace_chunk_registry_publish_chunk( * * Returns an lttng_trace_chunk on success, NULL if the chunk does not exist. */ -LTTNG_HIDDEN struct lttng_trace_chunk * lttng_trace_chunk_registry_find_chunk( const struct lttng_trace_chunk_registry *registry, uint64_t session_id, uint64_t chunk_id); +/* + * Query the existence of a trace chunk by session_id and chunk_id. + * + * Returns 0 on success, a negative value on error. + */ +int lttng_trace_chunk_registry_chunk_exists( + const struct lttng_trace_chunk_registry *registry, + uint64_t session_id, uint64_t chunk_id, bool *chunk_exists); + /* * Look-up an anonymous trace chunk by session_id. * A reference is acquired on behalf of the caller. * * Returns an lttng_trace_chunk on success, NULL if the chunk does not exist. */ -LTTNG_HIDDEN struct lttng_trace_chunk * lttng_trace_chunk_registry_find_anonymous_chunk( const struct lttng_trace_chunk_registry *registry, uint64_t session_id); -LTTNG_HIDDEN unsigned int lttng_trace_chunk_registry_put_each_chunk( - struct lttng_trace_chunk_registry *registry); + const struct lttng_trace_chunk_registry *registry); + +#ifdef __cplusplus +} +#endif #endif /* LTTNG_TRACE_CHUNK_REGISTRY_H */