2 * SPDX-License-Identifier: LGPL-2.1-only
4 * Copyright (C) 2005-2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
6 * This contains the definitions for the Linux Trace Toolkit tracer.
8 * Ported to userspace by Pierre-Marc Fournier.
11 #ifndef _LTTNG_TRACER_H
12 #define _LTTNG_TRACER_H
16 #include <lttng/ust-events.h>
17 #include "lttng-tracer-core.h"
19 /* Tracer properties */
20 #define CTF_MAGIC_NUMBER 0xC1FC1FC1
21 #define TSDL_MAGIC_NUMBER 0x75D11D57
23 /* CTF specification version followed */
24 #define CTF_SPEC_MAJOR 1
25 #define CTF_SPEC_MINOR 8
28 * Number of milliseconds to retry before failing metadata writes on buffer full
29 * condition. (10 seconds)
31 #define LTTNG_METADATA_TIMEOUT_MSEC 10000
33 #define LTTNG_RFLAG_EXTENDED RING_BUFFER_RFLAG_END
34 #define LTTNG_RFLAG_END (LTTNG_RFLAG_EXTENDED << 1)
37 * LTTng client type enumeration. Used by the consumer to map the
38 * callbacks from its own address space.
40 enum lttng_client_types
{
41 LTTNG_CLIENT_METADATA
= 0,
42 LTTNG_CLIENT_DISCARD
= 1,
43 LTTNG_CLIENT_OVERWRITE
= 2,
44 LTTNG_CLIENT_DISCARD_RT
= 3,
45 LTTNG_CLIENT_OVERWRITE_RT
= 4,
46 LTTNG_NR_CLIENT_TYPES
,
49 #endif /* _LTTNG_TRACER_H */