1 #ifndef _LTT_DEBUGFS_ABI_H
2 #define _LTT_DEBUGFS_ABI_H
7 * Copyright 2010 (c) - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
9 * LTTng debugfs ABI header
14 #define LTTNG_KPROBE_SYM_NAME_LEN 128
16 enum lttng_kernel_instrumentation
{
17 LTTNG_KERNEL_TRACEPOINTS
,
22 * LTTng DebugFS ABI structures.
25 struct lttng_kernel_channel
{
26 int overwrite
; /* 1: overwrite, 0: discard */
29 unsigned int switch_timer_interval
;
30 unsigned int read_timer_interval
;
34 * Either addr is used, or symbol_name and offset.
36 struct lttng_kernel_kprobe
{
40 char symbol_name
[LTTNG_KPROBE_SYM_NAME_LEN
];
43 struct lttng_kernel_event
{
44 enum lttng_kernel_instrumentation instrumentation
;
45 /* Per instrumentation type configuration */
47 struct lttng_kernel_kprobe kprobe
;
52 struct lttng_kernel_tracer_version
{
58 #define LTTNG_KERNEL_SESSION _IO(0xF6, 0x40)
59 #define LTTNG_KERNEL_SESSION_START _IO(0xF6, 0x41)
60 #define LTTNG_KERNEL_SESSION_STOP _IO(0xF6, 0x42)
61 #define LTTNG_KERNEL_CHANNEL \
62 _IOW(0xF6, 0x43, struct lttng_kernel_channel)
63 #define LTTNG_KERNEL_STREAM _IO(0xF6, 0x44)
64 #define LTTNG_KERNEL_EVENT \
65 _IOW(0xF6, 0x45, struct lttng_kernel_event)
66 #define LTTNG_KERNEL_METADATA \
67 _IOW(0xF6, 0x46, struct lttng_kernel_channel)
68 #define LTTNG_KERNEL_KPROBE \
69 _IOW(0xF6, 0x47, struct lttng_kernel_kprobe)
70 #define LTTNG_KERNEL_TRACER_VERSION \
71 _IOR(0xF6, 0x48, struct lttng_kernel_tracer_version)
73 #endif /* _LTT_DEBUGFS_ABI_H */