X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fcommon%2Fust-consumer%2Fust-consumer.h;h=31a734c777931eb2ed92f9a55439da1cfbabf122;hb=b623cb6a788d9e666d9a93658ab04b06458863ef;hp=f933e90dc9ce689b8ba0560cac8b2fd0b7ccfab7;hpb=a31c9f22fe299ccc0a5297310cccc5c9f188a4e9;p=lttng-tools.git diff --git a/src/common/ust-consumer/ust-consumer.h b/src/common/ust-consumer/ust-consumer.h index f933e90dc..31a734c77 100644 --- a/src/common/ust-consumer/ust-consumer.h +++ b/src/common/ust-consumer/ust-consumer.h @@ -1,31 +1,23 @@ /* - * Copyright (C) 2011 - Julien Desfossez - * Copyright (C) 2011 - Mathieu Desnoyers + * 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, version 2 only, - * as published by the Free Software Foundation. + * SPDX-License-Identifier: GPL-2.0-only * - * 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 - * 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., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _LTTNG_USTCONSUMER_H #define _LTTNG_USTCONSUMER_H -#include - +#include #include +#include #ifdef HAVE_LIBLTTNG_UST_CTL int lttng_ustconsumer_take_snapshot(struct lttng_consumer_stream *stream); +int lttng_ustconsumer_sample_snapshot_positions( + struct lttng_consumer_stream *stream); int lttng_ustconsumer_get_produced_snapshot( struct lttng_consumer_stream *stream, unsigned long *pos); @@ -47,9 +39,8 @@ 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); +void lttng_lttng_ust_ctl_flush_buffer(struct lttng_consumer_stream *stream, + int producer_active); int lttng_ustconsumer_get_stream_id(struct lttng_consumer_stream *stream, uint64_t *stream_id); int lttng_ustconsumer_data_pending(struct lttng_consumer_stream *stream); @@ -57,14 +48,16 @@ void lttng_ustconsumer_close_all_metadata(struct lttng_ht *ht); void lttng_ustconsumer_close_metadata(struct lttng_consumer_channel *metadata); 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 timer, int wait); + uint64_t len, uint64_t version, + struct lttng_consumer_channel *channel, int timer, int wait); int lttng_ustconsumer_request_metadata(struct lttng_consumer_local_data *ctx, struct lttng_consumer_channel *channel, int timer, int wait); -int lttng_ustconsumer_sync_metadata(struct lttng_consumer_local_data *ctx, +enum sync_metadata_status lttng_ustconsumer_sync_metadata( + struct lttng_consumer_local_data *ctx, struct lttng_consumer_stream *metadata); void lttng_ustconsumer_flush_buffer(struct lttng_consumer_stream *stream, int producer); +void lttng_ustconsumer_clear_buffer(struct lttng_consumer_stream *stream); int lttng_ustconsumer_get_current_timestamp( struct lttng_consumer_stream *stream, uint64_t *ts); int lttng_ustconsumer_get_sequence_number( @@ -96,6 +89,13 @@ int lttng_ustconsumer_take_snapshot(struct lttng_consumer_stream *stream) return -ENOSYS; } +static inline +int lttng_ustconsumer_sample_snapshot_positions( + struct lttng_consumer_stream *stream) +{ + return -ENOSYS; +} + static inline int lttng_ustconsumer_get_produced_snapshot( struct lttng_consumer_stream *stream, unsigned long *pos) @@ -103,6 +103,13 @@ int lttng_ustconsumer_get_produced_snapshot( return -ENOSYS; } +static inline +int lttng_ustconsumer_get_consumed_snapshot( + struct lttng_consumer_stream *stream, unsigned long *pos) +{ + return -ENOSYS; +} + static inline int lttng_ustconsumer_recv_cmd(struct lttng_consumer_local_data *ctx, int sock, struct pollfd *consumer_sockpoll) @@ -156,7 +163,7 @@ 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, +int lttng_lttng_ust_ctl_get_mmap_read_offset(struct lttng_consumer_stream *stream, unsigned long *off) { return -ENOSYS; @@ -167,11 +174,16 @@ 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) +void *lttng_lttng_ust_ctl_get_mmap_base(struct lttng_consumer_stream *stream) { return NULL; } static inline +void lttng_lttng_ust_ctl_flush_buffer(struct lttng_consumer_stream *stream, + int producer_active) +{ +} +static inline void lttng_ustconsumer_close_all_metadata(struct lttng_ht *ht) { } @@ -185,8 +197,8 @@ 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, - int timer) + uint64_t len, uint64_t version, + struct lttng_consumer_channel *channel, int timer) { return -ENOSYS; } @@ -197,10 +209,10 @@ int lttng_ustconsumer_request_metadata(struct lttng_consumer_local_data *ctx, return -ENOSYS; } static inline -int lttng_ustconsumer_sync_metadata(struct lttng_consumer_local_data *ctx, +enum sync_metadata_status lttng_ustconsumer_sync_metadata(struct lttng_consumer_local_data *ctx, struct lttng_consumer_stream *metadata) { - return -ENOSYS; + return SYNC_METADATA_STATUS_ERROR; } static inline void lttng_ustconsumer_flush_buffer(struct lttng_consumer_stream *stream, @@ -208,6 +220,10 @@ void lttng_ustconsumer_flush_buffer(struct lttng_consumer_stream *stream, { } static inline +void lttng_ustconsumer_clear_buffer(struct lttng_consumer_stream *stream) +{ +} +static inline int lttng_ustconsumer_get_current_timestamp( struct lttng_consumer_stream *stream, uint64_t *ts) {