diff options
Diffstat (limited to 'include/trace/syscall.h')
| -rw-r--r-- | include/trace/syscall.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/trace/syscall.h b/include/trace/syscall.h new file mode 100644 index 000000000000..8cfe515cbc47 --- /dev/null +++ b/include/trace/syscall.h | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | #ifndef _TRACE_SYSCALL_H | ||
| 2 | #define _TRACE_SYSCALL_H | ||
| 3 | |||
| 4 | #include <asm/ptrace.h> | ||
| 5 | |||
| 6 | /* | ||
| 7 | * A syscall entry in the ftrace syscalls array. | ||
| 8 | * | ||
| 9 | * @name: name of the syscall | ||
| 10 | * @nb_args: number of parameters it takes | ||
| 11 | * @types: list of types as strings | ||
| 12 | * @args: list of args as strings (args[i] matches types[i]) | ||
| 13 | */ | ||
| 14 | struct syscall_metadata { | ||
| 15 | const char *name; | ||
| 16 | int nb_args; | ||
| 17 | const char **types; | ||
| 18 | const char **args; | ||
| 19 | }; | ||
| 20 | |||
| 21 | #ifdef CONFIG_FTRACE_SYSCALLS | ||
| 22 | extern void arch_init_ftrace_syscalls(void); | ||
| 23 | extern struct syscall_metadata *syscall_nr_to_meta(int nr); | ||
| 24 | extern void start_ftrace_syscalls(void); | ||
| 25 | extern void stop_ftrace_syscalls(void); | ||
| 26 | extern void ftrace_syscall_enter(struct pt_regs *regs); | ||
| 27 | extern void ftrace_syscall_exit(struct pt_regs *regs); | ||
| 28 | #else | ||
| 29 | static inline void start_ftrace_syscalls(void) { } | ||
| 30 | static inline void stop_ftrace_syscalls(void) { } | ||
| 31 | static inline void ftrace_syscall_enter(struct pt_regs *regs) { } | ||
| 32 | static inline void ftrace_syscall_exit(struct pt_regs *regs) { } | ||
| 33 | #endif | ||
| 34 | |||
| 35 | #endif /* _TRACE_SYSCALL_H */ | ||
