Root/
1 | #ifndef _TRACE_SYSCALL_H |
2 | #define _TRACE_SYSCALL_H |
3 | |
4 | #include <linux/tracepoint.h> |
5 | #include <linux/unistd.h> |
6 | #include <linux/ftrace_event.h> |
7 | |
8 | #include <asm/ptrace.h> |
9 | |
10 | |
11 | /* |
12 | * A syscall entry in the ftrace syscalls array. |
13 | * |
14 | * @name: name of the syscall |
15 | * @syscall_nr: number of the syscall |
16 | * @nb_args: number of parameters it takes |
17 | * @types: list of types as strings |
18 | * @args: list of args as strings (args[i] matches types[i]) |
19 | * @enter_event: associated syscall_enter trace event |
20 | * @exit_event: associated syscall_exit trace event |
21 | */ |
22 | struct syscall_metadata { |
23 | const char *name; |
24 | int syscall_nr; |
25 | int nb_args; |
26 | const char **types; |
27 | const char **args; |
28 | |
29 | struct ftrace_event_call *enter_event; |
30 | struct ftrace_event_call *exit_event; |
31 | }; |
32 | |
33 | #ifdef CONFIG_FTRACE_SYSCALLS |
34 | extern unsigned long arch_syscall_addr(int nr); |
35 | extern int init_syscall_trace(struct ftrace_event_call *call); |
36 | |
37 | extern int syscall_enter_define_fields(struct ftrace_event_call *call); |
38 | extern int syscall_exit_define_fields(struct ftrace_event_call *call); |
39 | extern int reg_event_syscall_enter(struct ftrace_event_call *call); |
40 | extern void unreg_event_syscall_enter(struct ftrace_event_call *call); |
41 | extern int reg_event_syscall_exit(struct ftrace_event_call *call); |
42 | extern void unreg_event_syscall_exit(struct ftrace_event_call *call); |
43 | extern int |
44 | ftrace_format_syscall(struct ftrace_event_call *call, struct trace_seq *s); |
45 | enum print_line_t print_syscall_enter(struct trace_iterator *iter, int flags); |
46 | enum print_line_t print_syscall_exit(struct trace_iterator *iter, int flags); |
47 | #endif |
48 | |
49 | #ifdef CONFIG_PERF_EVENTS |
50 | int perf_sysenter_enable(struct ftrace_event_call *call); |
51 | void perf_sysenter_disable(struct ftrace_event_call *call); |
52 | int perf_sysexit_enable(struct ftrace_event_call *call); |
53 | void perf_sysexit_disable(struct ftrace_event_call *call); |
54 | #endif |
55 | |
56 | #endif /* _TRACE_SYSCALL_H */ |
57 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9