lttng_ust_init_thread: initialise cached context values
[lttng-ust.git] / src / lib / lttng-ust / lttng-tracer-core.h
CommitLineData
4fbf9cd1 1/*
c0c0989a
MJ
2 * SPDX-License-Identifier: LGPL-2.1-only
3 *
4fbf9cd1
MD
4 * Copyright (C) 2005-2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
5 *
6 * This contains the core definitions for the Linux Trace Toolkit.
4fbf9cd1
MD
7 */
8
c0c0989a
MJ
9#ifndef _LTTNG_TRACER_CORE_H
10#define _LTTNG_TRACER_CORE_H
11
b728d87e
MD
12#include <stddef.h>
13#include <urcu/arch.h>
4fbf9cd1 14#include <urcu/list.h>
44c72f10 15#include <lttng/ust-tracer.h>
0b4b8811 16#include <lttng/ust-ringbuffer-context.h>
9d315d6d 17#include "common/logging.h"
4fbf9cd1 18
c246521d
NL
19enum lttng_ust_init_thread_flags {
20 LTTNG_UST_INIT_THREAD_CONTEXT_CACHE = (1 << 0),
21 LTTNG_UST_INIT_THREAD_MASK = (LTTNG_UST_INIT_THREAD_CONTEXT_CACHE << 1) - 1,
22};
23
f69fe5fb 24struct lttng_ust_session;
e7bc0ef6 25struct lttng_ust_channel_buffer;
daacdbfc 26struct lttng_ust_ctx_field;
b5457df5 27struct lttng_ust_ring_buffer_ctx;
daacdbfc 28struct lttng_ust_ctx_value;
e7bc0ef6 29struct lttng_ust_event_recorder;
d7d45c0d 30struct lttng_ust_event_notifier;
a2e4d05e 31struct lttng_ust_notification_ctx;
4fbf9cd1 32
1d18d519
MJ
33int ust_lock(void) __attribute__ ((warn_unused_result))
34 __attribute__((visibility("hidden")));
ddabe860 35
1d18d519
MJ
36void ust_lock_nocheck(void)
37 __attribute__((visibility("hidden")));
ddabe860 38
1d18d519
MJ
39void ust_unlock(void)
40 __attribute__((visibility("hidden")));
8165c8da 41
c246521d 42void lttng_ust_common_init_thread(int flags)
1d18d519 43 __attribute__((visibility("hidden")));
ddabe860 44
c246521d 45void lttng_ust_vtid_init_thread(int flags)
1d18d519 46 __attribute__((visibility("hidden")));
ddabe860 47
c246521d 48void lttng_ust_procname_init_thread(int flags)
1d18d519 49 __attribute__((visibility("hidden")));
ddabe860 50
c246521d 51void lttng_ust_cgroup_ns_init_thread(int flags)
1d18d519 52 __attribute__((visibility("hidden")));
ddabe860 53
c246521d 54void lttng_ust_ipc_ns_init_thread(int flags)
1d18d519 55 __attribute__((visibility("hidden")));
ddabe860 56
c246521d 57void lttng_ust_net_ns_init_thread(int flags)
1d18d519 58 __attribute__((visibility("hidden")));
ddabe860 59
c246521d 60void lttng_ust_time_ns_init_thread(int flags)
1d18d519 61 __attribute__((visibility("hidden")));
ddabe860 62
c246521d 63void lttng_ust_uts_ns_init_thread(int flags)
1d18d519 64 __attribute__((visibility("hidden")));
eddd8d5d 65
1d18d519
MJ
66const char *lttng_ust_obj_get_name(int id)
67 __attribute__((visibility("hidden")));
74d81a6c 68
1d18d519
MJ
69int lttng_get_notify_socket(void *owner)
70 __attribute__((visibility("hidden")));
32ce8569 71
1d18d519
MJ
72char* lttng_ust_sockinfo_get_procname(void *owner)
73 __attribute__((visibility("hidden")));
94be38e8 74
1d18d519
MJ
75void lttng_ust_sockinfo_session_enabled(void *owner)
76 __attribute__((visibility("hidden")));
95c25348 77
cab88ff8 78void lttng_event_notifier_notification_send(
cda77256 79 const struct lttng_ust_event_notifier *event_notifier,
a2e4d05e 80 const char *stack_data,
b2e37d27 81 struct lttng_ust_probe_ctx *probe_ctx,
1d18d519
MJ
82 struct lttng_ust_notification_ctx *notif_ctx)
83 __attribute__((visibility("hidden")));
cab88ff8 84
eeef0055 85#ifdef HAVE_LINUX_PERF_EVENT_H
c246521d 86void lttng_ust_perf_counter_init_thread(int flags)
1d18d519 87 __attribute__((visibility("hidden")));
ddabe860 88
1d18d519
MJ
89void lttng_perf_lock(void)
90 __attribute__((visibility("hidden")));
ddabe860 91
1d18d519
MJ
92void lttng_perf_unlock(void)
93 __attribute__((visibility("hidden")));
eeef0055 94#else /* #ifdef HAVE_LINUX_PERF_EVENT_H */
20142124 95static inline
c246521d 96void lttng_ust_perf_counter_init_thread(int flags __attribute__((unused)))
20142124
MD
97{
98}
99static inline
100void lttng_perf_lock(void)
101{
102}
103static inline
104void lttng_perf_unlock(void)
105{
106}
eeef0055 107#endif /* #else #ifdef HAVE_LINUX_PERF_EVENT_H */
20142124 108
7dd08bec 109#endif /* _LTTNG_TRACER_CORE_H */
This page took 0.04497 seconds and 4 git commands to generate.