Version 2.5.0-rc1
[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 5
44 #define LTTNG_MODULES_PATCHLEVEL_VERSION 0
45 #define LTTNG_MODULES_EXTRAVERSION "-rc1"
46
47 #define LTTNG_VERSION_NAME "Fumisterie"
48 #define LTTNG_VERSION_DESCRIPTION \
49 "The Fumisterie is a beer whose style is at the confluence of English and German ales. On the palate, it is full-bodied, malty and slightly caramelized. The organic hemp seeds incorporated during the brewing gives it a unique and original taste. The hop flavour comes through delicately in the after taste."
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.051922 seconds and 5 git commands to generate.