Allow consumer to flush buffers, fix alignment bug
[lttng-ust.git] / liblttng-ust / ust-core.c
CommitLineData
5e96a467
MD
1/*
2 * ust-core.c
3 *
4 * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; only
9 * version 2.1 of the License.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
4318ae1b 21#include <lttng/usterr-signal-safe.h>
c1fca457 22#include <lttng/ust-events.h>
5e96a467
MD
23#include <stdlib.h>
24
c1fca457
MD
25CDS_LIST_HEAD(ltt_transport_list);
26
5e96a467
MD
27volatile enum ust_loglevel ust_loglevel;
28
29void init_usterr(void)
30{
31 char *ust_debug;
32
33 if (ust_loglevel == UST_LOGLEVEL_UNKNOWN) {
69400ac4 34 ust_debug = getenv("LTTNG_UST_DEBUG");
5e96a467
MD
35 if (ust_debug)
36 ust_loglevel = UST_LOGLEVEL_DEBUG;
37 else
38 ust_loglevel = UST_LOGLEVEL_NORMAL;
39 }
40}
c1fca457
MD
41
42struct ltt_transport *ltt_transport_find(const char *name)
43{
44 struct ltt_transport *transport;
45
46 cds_list_for_each_entry(transport, &ltt_transport_list, node) {
47 if (!strcmp(transport->name, name))
48 return transport;
49 }
50 return NULL;
51}
52
53/**
54 * ltt_transport_register - LTT transport registration
55 * @transport: transport structure
56 *
57 * Registers a transport which can be used as output to extract the data out of
58 * LTTng. Called with ust_lock held.
59 */
60void ltt_transport_register(struct ltt_transport *transport)
61{
62 cds_list_add_tail(&transport->node, &ltt_transport_list);
63}
64
65/**
66 * ltt_transport_unregister - LTT transport unregistration
67 * @transport: transport structure
68 * Called with ust_lock held.
69 */
70void ltt_transport_unregister(struct ltt_transport *transport)
71{
72 cds_list_del(&transport->node);
73}
This page took 0.025766 seconds and 4 git commands to generate.