PM / yenta: Split resume into early and late parts (rev. 4)
[linux/fpc-iii.git] / include / trace / syscall.h
blob8cfe515cbc47a125aa3fac8f51916d3b89c56384
1 #ifndef _TRACE_SYSCALL_H
2 #define _TRACE_SYSCALL_H
4 #include <asm/ptrace.h>
6 /*
7 * A syscall entry in the ftrace syscalls array.
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])
14 struct syscall_metadata {
15 const char *name;
16 int nb_args;
17 const char **types;
18 const char **args;
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
35 #endif /* _TRACE_SYSCALL_H */