Blame view
include/trace/syscall.h
1.77 KB
47788c58e
|
1 2 |
#ifndef _TRACE_SYSCALL_H #define _TRACE_SYSCALL_H |
a871bd33a
|
3 |
#include <linux/tracepoint.h> |
fb34a08c3
|
4 5 |
#include <linux/unistd.h> #include <linux/ftrace_event.h> |
a871bd33a
|
6 |
|
47788c58e
|
7 |
#include <asm/ptrace.h> |
a871bd33a
|
8 |
|
47788c58e
|
9 10 11 12 |
/* * A syscall entry in the ftrace syscalls array. * * @name: name of the syscall |
c252f6579
|
13 |
* @syscall_nr: number of the syscall |
47788c58e
|
14 15 16 |
* @nb_args: number of parameters it takes * @types: list of types as strings * @args: list of args as strings (args[i] matches types[i]) |
540b7b8d6
|
17 18 |
* @enter_event: associated syscall_enter trace event * @exit_event: associated syscall_exit trace event |
47788c58e
|
19 20 21 |
*/ struct syscall_metadata { const char *name; |
c252f6579
|
22 |
int syscall_nr; |
47788c58e
|
23 24 25 |
int nb_args; const char **types; const char **args; |
2e33af029
|
26 |
struct list_head enter_fields; |
540b7b8d6
|
27 28 29 |
struct ftrace_event_call *enter_event; struct ftrace_event_call *exit_event; |
47788c58e
|
30 31 32 |
}; #ifdef CONFIG_FTRACE_SYSCALLS |
c44fc7708
|
33 |
extern unsigned long arch_syscall_addr(int nr); |
a1301da09
|
34 |
extern int init_syscall_trace(struct ftrace_event_call *call); |
bd1a5c849
|
35 |
|
bd1a5c849
|
36 37 38 39 40 41 |
extern int reg_event_syscall_enter(struct ftrace_event_call *call); extern void unreg_event_syscall_enter(struct ftrace_event_call *call); extern int reg_event_syscall_exit(struct ftrace_event_call *call); extern void unreg_event_syscall_exit(struct ftrace_event_call *call); extern int ftrace_format_syscall(struct ftrace_event_call *call, struct trace_seq *s); |
a9a577638
|
42 43 44 45 |
enum print_line_t print_syscall_enter(struct trace_iterator *iter, int flags, struct trace_event *event); enum print_line_t print_syscall_exit(struct trace_iterator *iter, int flags, struct trace_event *event); |
47788c58e
|
46 |
#endif |
07b139c8c
|
47 48 |
#ifdef CONFIG_PERF_EVENTS |
97d5a2200
|
49 50 51 52 |
int perf_sysenter_enable(struct ftrace_event_call *call); void perf_sysenter_disable(struct ftrace_event_call *call); int perf_sysexit_enable(struct ftrace_event_call *call); void perf_sysexit_disable(struct ftrace_event_call *call); |
f4b5ffccc
|
53 |
#endif |
47788c58e
|
54 55 |
#endif /* _TRACE_SYSCALL_H */ |