Version 2.4.4
[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 4
44 #define LTTNG_MODULES_PATCHLEVEL_VERSION 4
45 #define LTTNG_MODULES_EXTRAVERSION ""
46
47 #define LTTNG_VERSION_NAME "Époque Opaque"
48 #define LTTNG_VERSION_DESCRIPTION \
49 "The Époque Opaque is a black IPA from Trou du Diable brewery. The nose is eerily reminiscent of the coffee crisp candy from of our childhood. These strong mocha accents are present on the palate, which are quickly subdued by Japanese and Australian hops leading to a final state of satisfaction enjoyable for any fan of bitter beer."
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.029803 seconds and 4 git commands to generate.