]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - drivers/staging/lttng/ltt-tracer.h
lttng: tracer control and core structures
[karo-tx-linux.git] / drivers / staging / lttng / ltt-tracer.h
1 #ifndef _LTT_TRACER_H
2 #define _LTT_TRACER_H
3
4 /*
5  * ltt-tracer.h
6  *
7  * Copyright (C) 2005-2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
8  *
9  * This contains the definitions for the Linux Trace Toolkit tracer.
10  *
11  * Dual LGPL v2.1/GPL v2 license.
12  */
13
14 #include <stdarg.h>
15 #include <linux/types.h>
16 #include <linux/limits.h>
17 #include <linux/list.h>
18 #include <linux/cache.h>
19 #include <linux/timex.h>
20 #include <linux/wait.h>
21 #include <asm/atomic.h>
22 #include <asm/local.h>
23
24 #include "wrapper/trace-clock.h"
25 #include "ltt-tracer-core.h"
26 #include "ltt-events.h"
27
28 #define LTTNG_VERSION 0
29 #define LTTNG_PATCHLEVEL 9
30 #define LTTNG_SUBLEVEL 1
31
32 #ifndef CHAR_BIT
33 #define CHAR_BIT 8
34 #endif
35
36 /* Number of bytes to log with a read/write event */
37 #define LTT_LOG_RW_SIZE                 32L
38 #define LTT_MAX_SMALL_SIZE              0xFFFFU
39
40 #ifdef RING_BUFFER_ALIGN
41 #define ltt_alignof(type)       __alignof__(type)
42 #else
43 #define ltt_alignof(type)       1
44 #endif
45
46 /* Tracer properties */
47 #define CTF_MAGIC_NUMBER                0xC1FC1FC1
48 #define TSDL_MAGIC_NUMBER               0x75D11D57
49
50 /* CTF specification version followed */
51 #define CTF_SPEC_MAJOR                  1
52 #define CTF_SPEC_MINOR                  8
53
54 /* Tracer major/minor versions */
55 #define CTF_VERSION_MAJOR               0
56 #define CTF_VERSION_MINOR               1
57
58 /*
59  * Number of milliseconds to retry before failing metadata writes on buffer full
60  * condition. (10 seconds)
61  */
62 #define LTTNG_METADATA_TIMEOUT_MSEC     10000
63
64 #define LTT_RFLAG_EXTENDED              RING_BUFFER_RFLAG_END
65 #define LTT_RFLAG_END                   (LTT_RFLAG_EXTENDED << 1)
66
67 #endif /* _LTT_TRACER_H */