#ifndef _TRACE_SYSCALL_H#define _TRACE_SYSCALL_H#include <asm/ptrace.h>/* * A syscall entry in the ftrace syscalls array. * * @name: name of the syscall * @nb_args: number of parameters it takes * @types: list of types as strings * @args: list of args as strings (args[i] matches types[i]) */structsyscall_metadata{constchar*name;intnb_args;constchar**types;constchar**args;};#ifdef CONFIG_FTRACE_SYSCALLSexternvoidarch_init_ftrace_syscalls(void);externstructsyscall_metadata*syscall_nr_to_meta(intnr);externvoidstart_ftrace_syscalls(void);externvoidstop_ftrace_syscalls(void);externvoidftrace_syscall_enter(structpt_regs*regs);externvoidftrace_syscall_exit(structpt_regs*regs);#elsestaticinlinevoidstart_ftrace_syscalls(void){}staticinlinevoidstop_ftrace_syscalls(void){}staticinlinevoidftrace_syscall_enter(structpt_regs*regs){}staticinlinevoidftrace_syscall_exit(structpt_regs*regs){}#endif#endif /* _TRACE_SYSCALL_H */