X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fust-consumer%2Fust-consumer.h;h=01a50773c263ab562c9955105f7f5495c8fc06f7;hp=6b507ed99f9a9fa1f2640f0d7a06f25315fd46ee;hb=c8fea79c745d42ea8143b7020ae11b4fc2da0d8a;hpb=e316aad5fbbe3782872083cb68dfdd58bccea811 diff --git a/src/common/ust-consumer/ust-consumer.h b/src/common/ust-consumer/ust-consumer.h index 6b507ed99..01a50773c 100644 --- a/src/common/ust-consumer/ust-consumer.h +++ b/src/common/ust-consumer/ust-consumer.h @@ -19,36 +19,25 @@ #ifndef _LTTNG_USTCONSUMER_H #define _LTTNG_USTCONSUMER_H -#include #include -#include +#include #ifdef HAVE_LIBLTTNG_UST_CTL -/* - * 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 void lttng_ustconsumer_free_channel(struct lttng_consumer_channel *chan); extern int lttng_ustconsumer_add_stream(struct lttng_consumer_stream *stream); extern void lttng_ustconsumer_del_stream(struct lttng_consumer_stream *stream); @@ -58,9 +47,26 @@ int lttng_ustconsumer_on_recv_stream(struct lttng_consumer_stream *stream); void lttng_ustconsumer_on_stream_hangup(struct lttng_consumer_stream *stream); -extern int lttng_ustctl_get_mmap_read_offset( - struct lttng_ust_shm_handle *handle, - struct lttng_ust_lib_ring_buffer *buf, unsigned long *off); +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_get_stream_id(struct lttng_consumer_stream *stream, + uint64_t *stream_id); +int lttng_ustconsumer_data_pending(struct lttng_consumer_stream *stream); +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); +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, + struct lttng_consumer_stream *metadata); +void lttng_ustconsumer_flush_buffer(struct lttng_consumer_stream *stream, + int producer); +int lttng_ustconsumer_get_current_timestamp( + struct lttng_consumer_stream *stream, uint64_t *ts); #else /* HAVE_LIBLTTNG_UST_CTL */ @@ -83,17 +89,14 @@ ssize_t lttng_ustconsumer_on_read_subbuffer_splice( } 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; } @@ -116,6 +119,11 @@ void lttng_ustconsumer_del_channel(struct lttng_consumer_channel *chan) { } +static inline +void lttng_ustconsumer_free_channel(struct lttng_consumer_channel *chan) +{ +} + static inline int lttng_ustconsumer_add_stream(struct lttng_consumer_stream *stream) { @@ -146,8 +154,66 @@ void lttng_ustconsumer_on_stream_hangup(struct lttng_consumer_stream *stream) } static inline -int lttng_ustctl_get_mmap_read_offset(struct lttng_ust_shm_handle *handle, - struct lttng_ust_lib_ring_buffer *buf, unsigned long *off) +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_all_metadata(struct lttng_ht *ht) +{ +} +static inline +void lttng_ustconsumer_close_metadata(struct lttng_consumer_channel *metadata) +{ +} +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, + int timer) +{ + return -ENOSYS; +} +static inline +int lttng_ustconsumer_request_metadata(struct lttng_consumer_local_data *ctx, + struct lttng_consumer_channel *channel, int timer, int wait) +{ + return -ENOSYS; +} +static inline +int lttng_ustconsumer_sync_metadata(struct lttng_consumer_local_data *ctx, + struct lttng_consumer_stream *metadata) +{ + return -ENOSYS; +} +static inline +void lttng_ustconsumer_flush_buffer(struct lttng_consumer_stream *stream, + int producer) +{ +} +static inline +int lttng_ustconsumer_get_current_timestamp( + struct lttng_consumer_stream *stream, uint64_t *ts) +{ + return -ENOSYS; +} +static inline +int lttng_ustconsumer_get_stream_id(struct lttng_consumer_stream *stream, + uint64_t *stream_id) { return -ENOSYS; }