b90bcb4f093e78b5bf2657833cfeb9e21e65fd98
[deliverable/lttng-modules.git] / lttng-tracer.h
1 #ifndef _LTTNG_TRACER_H
2 #define _LTTNG_TRACER_H
3
4 /*
5 * lttng-tracer.h
6 *
7 * This contains the definitions for the Linux Trace Toolkit Next
8 * Generation tracer.
9 *
10 * Copyright (C) 2005-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 *
12 * This library is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public
14 * License as published by the Free Software Foundation; only
15 * version 2.1 of the License.
16 *
17 * This library is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Lesser General Public License for more details.
21 *
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with this library; if not, write to the Free Software
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
25 */
26
27 #include <stdarg.h>
28 #include <linux/types.h>
29 #include <linux/limits.h>
30 #include <linux/list.h>
31 #include <linux/cache.h>
32 #include <linux/timex.h>
33 #include <linux/wait.h>
34 #include <asm/atomic.h>
35 #include <asm/local.h>
36
37 #include "wrapper/trace-clock.h"
38 #include "wrapper/compiler.h"
39 #include "lttng-tracer-core.h"
40 #include "lttng-events.h"
41
42 #define LTTNG_MODULES_MAJOR_VERSION 2
43 #define LTTNG_MODULES_MINOR_VERSION 6
44 #define LTTNG_MODULES_PATCHLEVEL_VERSION 0
45 #define LTTNG_MODULES_EXTRAVERSION "-rc1"
46
47 #define LTTNG_VERSION_NAME "Gaia"
48 #define LTTNG_VERSION_DESCRIPTION \
49 "From Benelux brewery in Montreal, the Gaia is a witbier with a cloudy light amber ale color. Aroma of coriander with floral hay notes is enchanting. Taste is also dominated by the very floral coriander note and some medium sweet malt notes."
50
51 #ifndef CHAR_BIT
52 #define CHAR_BIT 8
53 #endif
54
55 /* Number of bytes to log with a read/write event */
56 #define LTTNG_LOG_RW_SIZE 32L
57 #define LTTNG_MAX_SMALL_SIZE 0xFFFFU
58
59 #ifdef RING_BUFFER_ALIGN
60 #define lttng_alignof(type) __alignof__(type)
61 #else
62 #define lttng_alignof(type) 1
63 #endif
64
65 /* Tracer properties */
66 #define CTF_MAGIC_NUMBER 0xC1FC1FC1
67 #define TSDL_MAGIC_NUMBER 0x75D11D57
68
69 /* CTF specification version followed */
70 #define CTF_SPEC_MAJOR 1
71 #define CTF_SPEC_MINOR 8
72
73 /*
74 * Number of milliseconds to retry before failing metadata writes on buffer full
75 * condition. (10 seconds)
76 */
77 #define LTTNG_METADATA_TIMEOUT_MSEC 10000
78
79 #define LTTNG_RFLAG_EXTENDED RING_BUFFER_RFLAG_END
80 #define LTTNG_RFLAG_END (LTTNG_RFLAG_EXTENDED << 1)
81
82 #endif /* _LTTNG_TRACER_H */
This page took 0.034721 seconds and 4 git commands to generate.