New API: lttng_ust_init_thread() for async-signal tracing
[lttng-ust.git] / liblttng-ust / lttng-rb-clients.h
CommitLineData
82b9bde8 1/*
c0c0989a 2 * SPDX-License-Identifier: LGPL-2.1-only
82b9bde8 3 *
c0c0989a 4 * Copyright (C) 2013 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
82b9bde8
JD
5 */
6
c0c0989a
MJ
7#ifndef _LTTNG_RB_CLIENT_H
8#define _LTTNG_RB_CLIENT_H
9
fb31eb73
FD
10#include <stdint.h>
11
82b9bde8
JD
12struct lttng_ust_client_lib_ring_buffer_client_cb {
13 struct lttng_ust_lib_ring_buffer_client_cb parent;
b2f3252a
JD
14
15 int (*timestamp_begin) (struct lttng_ust_lib_ring_buffer *buf,
07539b34 16 struct lttng_ust_lib_ring_buffer_channel *chan,
b2f3252a
JD
17 uint64_t *timestamp_begin);
18 int (*timestamp_end) (struct lttng_ust_lib_ring_buffer *buf,
07539b34 19 struct lttng_ust_lib_ring_buffer_channel *chan,
b2f3252a
JD
20 uint64_t *timestamp_end);
21 int (*events_discarded) (struct lttng_ust_lib_ring_buffer *buf,
07539b34 22 struct lttng_ust_lib_ring_buffer_channel *chan,
b2f3252a
JD
23 uint64_t *events_discarded);
24 int (*content_size) (struct lttng_ust_lib_ring_buffer *buf,
07539b34 25 struct lttng_ust_lib_ring_buffer_channel *chan,
b2f3252a
JD
26 uint64_t *content_size);
27 int (*packet_size) (struct lttng_ust_lib_ring_buffer *buf,
07539b34 28 struct lttng_ust_lib_ring_buffer_channel *chan,
b2f3252a
JD
29 uint64_t *packet_size);
30 int (*stream_id) (struct lttng_ust_lib_ring_buffer *buf,
07539b34 31 struct lttng_ust_lib_ring_buffer_channel *chan,
b2f3252a 32 uint64_t *stream_id);
fca361e8 33 int (*current_timestamp) (struct lttng_ust_lib_ring_buffer *buf,
07539b34 34 struct lttng_ust_lib_ring_buffer_channel *chan,
fca361e8 35 uint64_t *ts);
1ff31389 36 int (*sequence_number) (struct lttng_ust_lib_ring_buffer *buf,
07539b34 37 struct lttng_ust_lib_ring_buffer_channel *chan, uint64_t *seq);
45a00b05 38 int (*instance_id) (struct lttng_ust_lib_ring_buffer *buf,
07539b34 39 struct lttng_ust_lib_ring_buffer_channel *chan, uint64_t *id);
82b9bde8
JD
40};
41
14e0a135
MD
42/*
43 * The ring buffer and counter clients init/exit symbols are private ABI
44 * for liblttng-ust-ctl, which is why they are not hidden.
45 */
46void lttng_ust_ring_buffer_clients_init(void);
47void lttng_ust_ring_buffer_clients_exit(void);
48
49void lttng_ust_counter_clients_init(void);
50void lttng_ust_counter_clients_exit(void);
51
82b9bde8 52#endif /* _LTTNG_RB_CLIENT_H */
This page took 0.031898 seconds and 4 git commands to generate.