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"
20 /* Tracer properties */
21 #define CTF_MAGIC_NUMBER 0xC1FC1FC1
22 #define TSDL_MAGIC_NUMBER 0x75D11D57
24 /* CTF specification version followed */
25 #define CTF_SPEC_MAJOR 1
26 #define CTF_SPEC_MINOR 8
29 * Number of milliseconds to retry before failing metadata writes on buffer full
30 * condition. (10 seconds)
32 #define LTTNG_METADATA_TIMEOUT_MSEC 10000
34 #define LTTNG_RFLAG_EXTENDED RING_BUFFER_RFLAG_END
35 #define LTTNG_RFLAG_END (LTTNG_RFLAG_EXTENDED << 1)
38 * LTTng client type enumeration. Used by the consumer to map the
39 * callbacks from its own address space.
41 enum lttng_client_types
{
42 LTTNG_CLIENT_METADATA
= 0,
43 LTTNG_CLIENT_DISCARD
= 1,
44 LTTNG_CLIENT_OVERWRITE
= 2,
45 LTTNG_CLIENT_DISCARD_RT
= 3,
46 LTTNG_CLIENT_OVERWRITE_RT
= 4,
47 LTTNG_NR_CLIENT_TYPES
,
50 #endif /* _LTTNG_TRACER_H */