Fix: Conditionally disable test requiring shared libs
[lttng-tools.git] / src / common / ust-consumer / ust-consumer.h
... / ...
CommitLineData
1/*
2 * Copyright (C) 2011 - Julien Desfossez <julien.desfossez@polymtl.ca>
3 * Copyright (C) 2011 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License, version 2 only,
7 * as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 */
18
19#ifndef _LTTNG_USTCONSUMER_H
20#define _LTTNG_USTCONSUMER_H
21
22#include <config.h>
23#include <errno.h>
24
25#include <common/consumer.h>
26
27#ifdef HAVE_LIBLTTNG_UST_CTL
28
29/*
30 * Take a snapshot for a specific fd
31 *
32 * Returns 0 on success, < 0 on error
33 */
34int lttng_ustconsumer_take_snapshot(struct lttng_consumer_local_data *ctx,
35 struct lttng_consumer_stream *stream);
36
37/*
38 * Get the produced position
39 *
40 * Returns 0 on success, < 0 on error
41 */
42int lttng_ustconsumer_get_produced_snapshot(
43 struct lttng_consumer_local_data *ctx,
44 struct lttng_consumer_stream *stream,
45 unsigned long *pos);
46
47int lttng_ustconsumer_recv_cmd(struct lttng_consumer_local_data *ctx,
48 int sock, struct pollfd *consumer_sockpoll);
49
50extern int lttng_ustconsumer_allocate_channel(struct lttng_consumer_channel *chan);
51extern void lttng_ustconsumer_del_channel(struct lttng_consumer_channel *chan);
52extern int lttng_ustconsumer_add_stream(struct lttng_consumer_stream *stream);
53extern void lttng_ustconsumer_del_stream(struct lttng_consumer_stream *stream);
54
55int lttng_ustconsumer_read_subbuffer(struct lttng_consumer_stream *stream,
56 struct lttng_consumer_local_data *ctx);
57int lttng_ustconsumer_on_recv_stream(struct lttng_consumer_stream *stream);
58
59void lttng_ustconsumer_on_stream_hangup(struct lttng_consumer_stream *stream);
60
61extern int lttng_ustctl_get_mmap_read_offset(
62 struct lttng_ust_shm_handle *handle,
63 struct lttng_ust_lib_ring_buffer *buf, unsigned long *off);
64int lttng_ustconsumer_data_pending(struct lttng_consumer_stream *stream);
65
66#else /* HAVE_LIBLTTNG_UST_CTL */
67
68static inline
69ssize_t lttng_ustconsumer_on_read_subbuffer_mmap(
70 struct lttng_consumer_local_data *ctx,
71 struct lttng_consumer_stream *stream, unsigned long len,
72 unsigned long padding)
73{
74 return -ENOSYS;
75}
76
77static inline
78ssize_t lttng_ustconsumer_on_read_subbuffer_splice(
79 struct lttng_consumer_local_data *ctx,
80 struct lttng_consumer_stream *uststream, unsigned long len,
81 unsigned long padding)
82{
83 return -ENOSYS;
84}
85
86static inline
87int lttng_ustconsumer_take_snapshot(struct lttng_consumer_local_data *ctx,
88 struct lttng_consumer_stream *stream)
89{
90 return -ENOSYS;
91}
92
93static inline
94int lttng_ustconsumer_get_produced_snapshot(
95 struct lttng_consumer_local_data *ctx,
96 struct lttng_consumer_stream *stream,
97 unsigned long *pos)
98{
99 return -ENOSYS;
100}
101
102static inline
103int lttng_ustconsumer_recv_cmd(struct lttng_consumer_local_data *ctx,
104 int sock, struct pollfd *consumer_sockpoll)
105{
106 return -ENOSYS;
107}
108
109static inline
110int lttng_ustconsumer_allocate_channel(struct lttng_consumer_channel *chan)
111{
112 return -ENOSYS;
113}
114
115static inline
116void lttng_ustconsumer_del_channel(struct lttng_consumer_channel *chan)
117{
118}
119
120static inline
121int lttng_ustconsumer_add_stream(struct lttng_consumer_stream *stream)
122{
123 return -ENOSYS;
124}
125
126static inline
127void lttng_ustconsumer_del_stream(struct lttng_consumer_stream *stream)
128{
129}
130
131static inline
132int lttng_ustconsumer_read_subbuffer(struct lttng_consumer_stream *stream,
133 struct lttng_consumer_local_data *ctx)
134{
135 return -ENOSYS;
136}
137
138static inline
139int lttng_ustconsumer_on_recv_stream(struct lttng_consumer_stream *stream)
140{
141 return -ENOSYS;
142}
143
144static inline
145void lttng_ustconsumer_on_stream_hangup(struct lttng_consumer_stream *stream)
146{
147}
148
149static inline
150int lttng_ustctl_get_mmap_read_offset(struct lttng_ust_shm_handle *handle,
151 struct lttng_ust_lib_ring_buffer *buf, unsigned long *off)
152{
153 return -ENOSYS;
154}
155static inline
156int lttng_ustconsumer_data_pending(struct lttng_consumer_stream *stream)
157{
158 return -ENOSYS;
159}
160#endif /* HAVE_LIBLTTNG_UST_CTL */
161
162#endif /* _LTTNG_USTCONSUMER_H */
This page took 0.022818 seconds and 4 git commands to generate.