Commit | Line | Data |
---|---|---|
a90917c3 MD |
1 | #ifndef _LTTNG_TRACER_H |
2 | #define _LTTNG_TRACER_H | |
17baffe2 | 3 | |
1c8284eb | 4 | /* |
a90917c3 | 5 | * lttng-tracer.h |
17baffe2 | 6 | * |
886d51a3 MD |
7 | * This contains the definitions for the Linux Trace Toolkit Next |
8 | * Generation tracer. | |
1c8284eb | 9 | * |
886d51a3 | 10 | * Copyright (C) 2005-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> |
1c8284eb | 11 | * |
886d51a3 MD |
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 | |
1c8284eb MD |
25 | */ |
26 | ||
1c8284eb MD |
27 | #include <stdarg.h> |
28 | #include <linux/types.h> | |
29 | #include <linux/limits.h> | |
30 | #include <linux/list.h> | |
31 | #include <linux/cache.h> | |
1c8284eb MD |
32 | #include <linux/timex.h> |
33 | #include <linux/wait.h> | |
1c8284eb MD |
34 | #include <asm/atomic.h> |
35 | #include <asm/local.h> | |
36 | ||
f3bc08c5 | 37 | #include "wrapper/trace-clock.h" |
a90917c3 MD |
38 | #include "lttng-tracer-core.h" |
39 | #include "lttng-events.h" | |
1c8284eb | 40 | |
c6c9e10f | 41 | #define LTTNG_MODULES_MAJOR_VERSION 2 |
223ca7c5 | 42 | #define LTTNG_MODULES_MINOR_VERSION 4 |
7cb1d0ee | 43 | #define LTTNG_MODULES_PATCHLEVEL_VERSION 0 |
80c16bcf | 44 | |
223ca7c5 | 45 | #define LTTNG_VERSION_NAME "Époque Opaque" |
d117fe45 | 46 | #define LTTNG_VERSION_DESCRIPTION \ |
223ca7c5 | 47 | "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." |
d117fe45 | 48 | |
c099397a MD |
49 | #ifndef CHAR_BIT |
50 | #define CHAR_BIT 8 | |
51 | #endif | |
52 | ||
1c8284eb | 53 | /* Number of bytes to log with a read/write event */ |
a90917c3 MD |
54 | #define LTTNG_LOG_RW_SIZE 32L |
55 | #define LTTNG_MAX_SMALL_SIZE 0xFFFFU | |
1c8284eb | 56 | |
d793d5e1 | 57 | #ifdef RING_BUFFER_ALIGN |
a90917c3 | 58 | #define lttng_alignof(type) __alignof__(type) |
c099397a | 59 | #else |
a90917c3 | 60 | #define lttng_alignof(type) 1 |
d793d5e1 | 61 | #endif |
1c8284eb | 62 | |
1c8284eb | 63 | /* Tracer properties */ |
1c25284c | 64 | #define CTF_MAGIC_NUMBER 0xC1FC1FC1 |
881833e3 | 65 | #define TSDL_MAGIC_NUMBER 0x75D11D57 |
4173df96 MD |
66 | |
67 | /* CTF specification version followed */ | |
68 | #define CTF_SPEC_MAJOR 1 | |
69 | #define CTF_SPEC_MINOR 8 | |
70 | ||
c099397a MD |
71 | /* |
72 | * Number of milliseconds to retry before failing metadata writes on buffer full | |
73 | * condition. (10 seconds) | |
74 | */ | |
75 | #define LTTNG_METADATA_TIMEOUT_MSEC 10000 | |
76 | ||
a90917c3 MD |
77 | #define LTTNG_RFLAG_EXTENDED RING_BUFFER_RFLAG_END |
78 | #define LTTNG_RFLAG_END (LTTNG_RFLAG_EXTENDED << 1) | |
64c796d8 | 79 | |
a90917c3 | 80 | #endif /* _LTTNG_TRACER_H */ |