X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=liblttng-ust%2Flttng-tracer-core.h;h=5cc095cdd9d516d26e9a60ab814423e8667859cd;hb=472b4adfd5a39691fe179a2c1d00988d5f32ab70;hp=e303dd7124ee798605d37392a2154137b5d07d7b;hpb=3046e0bf3ba02bb4d29db5410bfcb6d6aca9ae6f;p=lttng-ust.git diff --git a/liblttng-ust/lttng-tracer-core.h b/liblttng-ust/lttng-tracer-core.h index e303dd71..5cc095cd 100644 --- a/liblttng-ust/lttng-tracer-core.h +++ b/liblttng-ust/lttng-tracer-core.h @@ -1,26 +1,14 @@ -#ifndef _LTTNG_TRACER_CORE_H -#define _LTTNG_TRACER_CORE_H - /* + * SPDX-License-Identifier: LGPL-2.1-only + * * Copyright (C) 2005-2011 Mathieu Desnoyers * * This contains the core definitions for the Linux Trace Toolkit. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; version 2.1 of - * the License. - * - * This library 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 library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#ifndef _LTTNG_TRACER_CORE_H +#define _LTTNG_TRACER_CORE_H + #include #include #include @@ -28,7 +16,7 @@ #include #include #include -#include +#include /* * The longuest possible namespace proc path is with the cgroup ns @@ -46,20 +34,35 @@ struct lttng_ust_lib_ring_buffer_ctx; struct lttng_ctx_value; struct lttng_event_notifier; +LTTNG_HIDDEN int ust_lock(void) __attribute__ ((warn_unused_result)); +LTTNG_HIDDEN void ust_lock_nocheck(void); +LTTNG_HIDDEN void ust_unlock(void); +LTTNG_HIDDEN +void lttng_ust_fixup_tls(void); +LTTNG_HIDDEN void lttng_fixup_event_tls(void); +LTTNG_HIDDEN void lttng_fixup_vtid_tls(void); +LTTNG_HIDDEN void lttng_fixup_procname_tls(void); +LTTNG_HIDDEN void lttng_fixup_cgroup_ns_tls(void); +LTTNG_HIDDEN void lttng_fixup_ipc_ns_tls(void); +LTTNG_HIDDEN void lttng_fixup_net_ns_tls(void); LTTNG_HIDDEN void lttng_fixup_time_ns_tls(void); +LTTNG_HIDDEN void lttng_fixup_uts_ns_tls(void); +LTTNG_HIDDEN +void lttng_ust_fixup_fd_tracker_tls(void); + const char *lttng_ust_obj_get_name(int id); int lttng_get_notify_socket(void *owner); @@ -80,22 +83,25 @@ void lttng_ust_dummy_record(struct lttng_ctx_field *field, void lttng_ust_dummy_get_value(struct lttng_ctx_field *field, struct lttng_ctx_value *value); int lttng_context_is_app(const char *name); -void lttng_ust_fixup_tls(void); - -extern void (*lttng_ust_liburcu_bp_before_fork)(void); -extern void (*lttng_ust_liburcu_bp_after_fork_parent)(void); -extern void (*lttng_ust_liburcu_bp_after_fork_child)(void); LTTNG_HIDDEN void lttng_event_notifier_notification_send( struct lttng_event_notifier *event_notifier, const char *stack_data); -#ifdef LTTNG_UST_HAVE_PERF_EVENT +LTTNG_HIDDEN +struct lttng_counter_transport *lttng_counter_transport_find(const char *name); +LTTNG_HIDDEN +void lttng_counter_transport_register(struct lttng_counter_transport *transport); +LTTNG_HIDDEN +void lttng_counter_transport_unregister(struct lttng_counter_transport *transport); + +#ifdef HAVE_PERF_EVENT +LTTNG_HIDDEN void lttng_ust_fixup_perf_counter_tls(void); void lttng_perf_lock(void); void lttng_perf_unlock(void); -#else /* #ifdef LTTNG_UST_HAVE_PERF_EVENT */ +#else /* #ifdef HAVE_PERF_EVENT */ static inline void lttng_ust_fixup_perf_counter_tls(void) { @@ -108,6 +114,6 @@ static inline void lttng_perf_unlock(void) { } -#endif /* #else #ifdef LTTNG_UST_HAVE_PERF_EVENT */ +#endif /* #else #ifdef HAVE_PERF_EVENT */ #endif /* _LTTNG_TRACER_CORE_H */