X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fust-consumer%2Fust-consumer.h;h=e65acac0b99a25630688ceb5ae3cec7650dac80b;hp=0089ddf17ab250efa064b539a148cc956cf1034a;hb=843c71c5b9f7f6b04c5a1751a4679310dd07033b;hpb=f5204c9440be52e1b17bbb2c82450277ec02a583 diff --git a/src/common/ust-consumer/ust-consumer.h b/src/common/ust-consumer/ust-consumer.h index 0089ddf17..e65acac0b 100644 --- a/src/common/ust-consumer/ust-consumer.h +++ b/src/common/ust-consumer/ust-consumer.h @@ -2,19 +2,18 @@ * Copyright (C) 2011 - Julien Desfossez * Copyright (C) 2011 - Mathieu Desnoyers * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; only version 2 - * of the License. + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 2 only, + * as published by the Free Software Foundation. * * This program 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 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _LTTNG_USTCONSUMER_H @@ -27,44 +26,19 @@ #ifdef HAVE_LIBLTTNG_UST_CTL -/* - * Mmap the ring buffer, read it and write the data to the tracefile. - * - * Returns the number of bytes written, else negative value on error. - */ -extern ssize_t lttng_ustconsumer_on_read_subbuffer_mmap( - struct lttng_consumer_local_data *ctx, - struct lttng_consumer_stream *stream, unsigned long len); - -/* Not implemented */ -extern ssize_t lttng_ustconsumer_on_read_subbuffer_splice( - struct lttng_consumer_local_data *ctx, - struct lttng_consumer_stream *stream, unsigned long len); - -/* - * Take a snapshot for a specific fd - * - * Returns 0 on success, < 0 on error - */ -int lttng_ustconsumer_take_snapshot(struct lttng_consumer_local_data *ctx, - struct lttng_consumer_stream *stream); +int lttng_ustconsumer_take_snapshot(struct lttng_consumer_stream *stream); -/* - * Get the produced position - * - * Returns 0 on success, < 0 on error - */ int lttng_ustconsumer_get_produced_snapshot( - struct lttng_consumer_local_data *ctx, - struct lttng_consumer_stream *stream, - unsigned long *pos); + struct lttng_consumer_stream *stream, unsigned long *pos); +int lttng_ustconsumer_get_consumed_snapshot( + struct lttng_consumer_stream *stream, unsigned long *pos); int lttng_ustconsumer_recv_cmd(struct lttng_consumer_local_data *ctx, int sock, struct pollfd *consumer_sockpoll); extern int lttng_ustconsumer_allocate_channel(struct lttng_consumer_channel *chan); extern void lttng_ustconsumer_del_channel(struct lttng_consumer_channel *chan); -extern int lttng_ustconsumer_allocate_stream(struct lttng_consumer_stream *stream); +extern int lttng_ustconsumer_add_stream(struct lttng_consumer_stream *stream); extern void lttng_ustconsumer_del_stream(struct lttng_consumer_stream *stream); int lttng_ustconsumer_read_subbuffer(struct lttng_consumer_stream *stream, @@ -73,12 +47,24 @@ int lttng_ustconsumer_on_recv_stream(struct lttng_consumer_stream *stream); void lttng_ustconsumer_on_stream_hangup(struct lttng_consumer_stream *stream); +int lttng_ustctl_get_mmap_read_offset(struct lttng_consumer_stream *stream, + unsigned long *off); +void *lttng_ustctl_get_mmap_base(struct lttng_consumer_stream *stream); +int lttng_ustconsumer_data_pending(struct lttng_consumer_stream *stream); +void lttng_ustconsumer_close_metadata(struct lttng_ht *ht); +void lttng_ustconsumer_close_stream_wakeup(struct lttng_consumer_stream *stream); +int lttng_ustconsumer_recv_metadata(int sock, uint64_t key, uint64_t offset, + uint64_t len, struct lttng_consumer_channel *channel); +int lttng_ustconsumer_request_metadata(struct lttng_consumer_local_data *ctx, + struct lttng_consumer_channel *channel); + #else /* HAVE_LIBLTTNG_UST_CTL */ static inline ssize_t lttng_ustconsumer_on_read_subbuffer_mmap( struct lttng_consumer_local_data *ctx, - struct lttng_consumer_stream *stream, unsigned long len) + struct lttng_consumer_stream *stream, unsigned long len, + unsigned long padding) { return -ENOSYS; } @@ -86,23 +72,21 @@ ssize_t lttng_ustconsumer_on_read_subbuffer_mmap( static inline ssize_t lttng_ustconsumer_on_read_subbuffer_splice( struct lttng_consumer_local_data *ctx, - struct lttng_consumer_stream *uststream, unsigned long len) + struct lttng_consumer_stream *uststream, unsigned long len, + unsigned long padding) { return -ENOSYS; } static inline -int lttng_ustconsumer_take_snapshot(struct lttng_consumer_local_data *ctx, - struct lttng_consumer_stream *stream) +int lttng_ustconsumer_take_snapshot(struct lttng_consumer_stream *stream) { return -ENOSYS; } static inline int lttng_ustconsumer_get_produced_snapshot( - struct lttng_consumer_local_data *ctx, - struct lttng_consumer_stream *stream, - unsigned long *pos) + struct lttng_consumer_stream *stream, unsigned long *pos) { return -ENOSYS; } @@ -126,7 +110,7 @@ void lttng_ustconsumer_del_channel(struct lttng_consumer_channel *chan) } static inline -int lttng_ustconsumer_allocate_stream(struct lttng_consumer_stream *stream) +int lttng_ustconsumer_add_stream(struct lttng_consumer_stream *stream) { return -ENOSYS; } @@ -154,6 +138,42 @@ void lttng_ustconsumer_on_stream_hangup(struct lttng_consumer_stream *stream) { } +static inline +int lttng_ustctl_get_mmap_read_offset(struct lttng_consumer_stream *stream, + unsigned long *off) +{ + return -ENOSYS; +} +static inline +int lttng_ustconsumer_data_pending(struct lttng_consumer_stream *stream) +{ + return -ENOSYS; +} +static inline +void *lttng_ustctl_get_mmap_base(struct lttng_consumer_stream *stream) +{ + return NULL; +} +static inline +void lttng_ustconsumer_close_metadata(struct lttng_ht *ht) +{ +} +static inline +void lttng_ustconsumer_close_stream_wakeup(struct lttng_consumer_stream *stream) +{ +} +static inline +int lttng_ustconsumer_recv_metadata(int sock, uint64_t key, uint64_t offset, + uint64_t len, struct lttng_consumer_channel *channel) +{ + return -ENOSYS; +} +static inline +int lttng_ustconsumer_request_metadata(struct lttng_consumer_local_data *ctx, + struct lttng_consumer_channel *channel) +{ + return -ENOSYS; +} #endif /* HAVE_LIBLTTNG_UST_CTL */ #endif /* _LTTNG_USTCONSUMER_H */