X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fcommon%2Fkernel-consumer%2Fkernel-consumer.h;h=2aee20327d944e9ddf5386138be24688447b3ccb;hb=92b7a7f81a94f7616c155aed8a213edd68937a57;hp=e836a841aa9f91488399d02792e3e21fd7741cb1;hpb=ca22feea083301934d1c8511851c86fb008c0697;p=lttng-tools.git diff --git a/src/common/kernel-consumer/kernel-consumer.h b/src/common/kernel-consumer/kernel-consumer.h index e836a841a..2aee20327 100644 --- a/src/common/kernel-consumer/kernel-consumer.h +++ b/src/common/kernel-consumer/kernel-consumer.h @@ -1,6 +1,7 @@ /* * Copyright (C) 2011 - Julien Desfossez * Copyright (C) 2011 - Mathieu Desnoyers + * Copyright (C) 2017 - Jérémie Galarneau * * 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, @@ -19,33 +20,22 @@ #ifndef _LTTNG_KCONSUMER_H #define _LTTNG_KCONSUMER_H -#include +#include +#include -/* - * Take a snapshot for a specific fd - * - * Returns 0 on success, < 0 on error - */ -int lttng_kconsumer_take_snapshot(struct lttng_consumer_local_data *ctx, - struct lttng_consumer_stream *stream); - -/* - * Get the produced position - * - * Returns 0 on success, < 0 on error - */ -int lttng_kconsumer_get_produced_snapshot( - struct lttng_consumer_local_data *ctx, - struct lttng_consumer_stream *stream, +int lttng_kconsumer_take_snapshot(struct lttng_consumer_stream *stream); +int lttng_kconsumer_sample_snapshot_positions( + struct lttng_consumer_stream *stream); +int lttng_kconsumer_get_produced_snapshot(struct lttng_consumer_stream *stream, unsigned long *pos); - +int lttng_kconsumer_get_consumed_snapshot(struct lttng_consumer_stream *stream, + unsigned long *pos); int lttng_kconsumer_recv_cmd(struct lttng_consumer_local_data *ctx, int sock, struct pollfd *consumer_sockpoll); - - ssize_t lttng_kconsumer_read_subbuffer(struct lttng_consumer_stream *stream, - struct lttng_consumer_local_data *ctx); + struct lttng_consumer_local_data *ctx, bool *rotated); int lttng_kconsumer_on_recv_stream(struct lttng_consumer_stream *stream); -int lttng_kconsumer_data_available(struct lttng_consumer_stream *stream); +int lttng_kconsumer_data_pending(struct lttng_consumer_stream *stream); +int lttng_kconsumer_sync_metadata(struct lttng_consumer_stream *metadata); #endif /* _LTTNG_KCONSUMER_H */