Specify the complete paths to define_trace.h
[lttng-modules.git] / instrumentation / events / lttng-module / syscalls.h
CommitLineData
ae3dd5f0
MD
1#undef TRACE_SYSTEM
2#define TRACE_SYSTEM raw_syscalls
3#define TRACE_INCLUDE_FILE syscalls
4
5#if !defined(_TRACE_EVENTS_SYSCALLS_H) || defined(TRACE_HEADER_MULTI_READ)
6#define _TRACE_EVENTS_SYSCALLS_H
7
8#include <linux/tracepoint.h>
9
10#ifdef CONFIG_HAVE_SYSCALL_TRACEPOINTS
11
12#ifndef _TRACE_SYSCALLS_DEF_
13#define _TRACE_SYSCALLS_DEF_
14
15#include <asm/ptrace.h>
16#include <asm/syscall.h>
17
18#endif /* _TRACE_SYSCALLS_DEF_ */
19
20TRACE_EVENT(sys_enter,
21
22 TP_PROTO(struct pt_regs *regs, long id),
23
24 TP_ARGS(regs, id),
25
26 TP_STRUCT__entry(
27 __field( long, id )
28 __array( unsigned long, args, 6 )
29 ),
30
31 TP_fast_assign(
32 tp_assign(id, id)
33 {
34 unsigned long args_copy[6];
35
36 syscall_get_arguments(current, regs, 0, 6, args_copy);
37 tp_memcpy(args, args_copy, 6 * sizeof(args_copy));
38 }
39 ),
40
41 TP_printk("NR %ld (%lx, %lx, %lx, %lx, %lx, %lx)",
42 __entry->id,
43 __entry->args[0], __entry->args[1], __entry->args[2],
44 __entry->args[3], __entry->args[4], __entry->args[5])
45)
46
47TRACE_EVENT(sys_exit,
48
49 TP_PROTO(struct pt_regs *regs, long ret),
50
51 TP_ARGS(regs, ret),
52
53 TP_STRUCT__entry(
54 __field( long, id )
55 __field( long, ret )
56 ),
57
58 TP_fast_assign(
59 tp_assign(id, syscall_get_nr(current, regs))
60 tp_assign(ret, ret)
61 ),
62
63 TP_printk("NR %ld = %ld",
64 __entry->id, __entry->ret)
65)
66
67#endif /* CONFIG_HAVE_SYSCALL_TRACEPOINTS */
68
69#endif /* _TRACE_EVENTS_SYSCALLS_H */
70
71/* This part must be outside protection */
5b88d86e 72#include "../../../probes/define_trace.h"
ae3dd5f0 73
This page took 0.025601 seconds and 4 git commands to generate.