Fix: pass private data to context callbacks
[lttng-ust.git] / liblttng-ust / tracepoint-internal.h
CommitLineData
4ab44fbe 1/*
c0c0989a 2 * SPDX-License-Identifier: LGPL-2.1-only
4ab44fbe 3 *
c0c0989a 4 * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
4ab44fbe
MD
5 */
6
c0c0989a
MJ
7#ifndef _LTTNG_TRACEPOINT_INTERNAL_H
8#define _LTTNG_TRACEPOINT_INTERNAL_H
9
4ab44fbe
MD
10#include <urcu/list.h>
11#include <lttng/tracepoint-types.h>
10544ee8 12#include <lttng/ust-events.h>
4ab44fbe 13
d8de1354
MD
14#define TRACE_DEFAULT TRACE_DEBUG_LINE
15
4ab44fbe 16struct tracepoint_lib {
3469bbbe 17 struct cds_list_head list; /* list of registered libs */
1a206094 18 struct lttng_ust_tracepoint * const *tracepoints_start;
4ab44fbe 19 int tracepoints_count;
3469bbbe 20 struct cds_list_head callsites;
4ab44fbe
MD
21};
22
d10a2205 23int tracepoint_probe_register_noupdate(const char *name,
fbdeb5ec 24 void (*callback)(void), void *priv,
1d18d519
MJ
25 const char *signature)
26 __attribute__((visibility("hidden")));
d10a2205 27
d10a2205 28int tracepoint_probe_unregister_noupdate(const char *name,
1d18d519
MJ
29 void (*callback)(void), void *priv)
30 __attribute__((visibility("hidden")));
ddabe860 31
1d18d519
MJ
32void tracepoint_probe_update_all(void)
33 __attribute__((visibility("hidden")));
d10a2205 34
ddabe860 35
1d18d519
MJ
36void *lttng_ust_tp_check_weak_hidden1(void)
37 __attribute__((visibility("hidden")));
ddabe860 38
1d18d519
MJ
39void *lttng_ust_tp_check_weak_hidden2(void)
40 __attribute__((visibility("hidden")));
ddabe860 41
1d18d519
MJ
42void *lttng_ust_tp_check_weak_hidden3(void)
43 __attribute__((visibility("hidden")));
d10a2205
MJ
44
45/*
46 * These symbols are ABI between liblttng-ust-tracepoint and liblttng-ust,
47 * which is why they are not hidden and not part of the public API.
48 */
49int lttng_ust_tp_probe_register_queue_release(const char *name,
baa1e0bc 50 void (*func)(void), void *data, const char *signature);
d10a2205 51int lttng_ust_tp_probe_unregister_queue_release(const char *name,
baa1e0bc 52 void (*func)(void), void *data);
d10a2205 53void lttng_ust_tp_probe_prune_release_queue(void);
4ab44fbe 54
25afb7ac
MJ
55void lttng_ust_tp_init(void);
56void lttng_ust_tp_exit(void);
4ab44fbe 57
5517d34d 58
4ab44fbe 59#endif /* _LTTNG_TRACEPOINT_INTERNAL_H */
This page took 0.043465 seconds and 4 git commands to generate.