Blame view
include/trace/syscall.h
1.25 KB
47788c58e
|
1 2 |
#ifndef _TRACE_SYSCALL_H #define _TRACE_SYSCALL_H |
a871bd33a
|
3 |
#include <linux/tracepoint.h> |
fb34a08c3
|
4 |
#include <linux/unistd.h> |
af658dca2
|
5 |
#include <linux/trace_events.h> |
4af4206be
|
6 |
#include <linux/thread_info.h> |
a871bd33a
|
7 |
|
47788c58e
|
8 |
#include <asm/ptrace.h> |
a871bd33a
|
9 |
|
47788c58e
|
10 11 12 13 |
/* * A syscall entry in the ftrace syscalls array. * * @name: name of the syscall |
c252f6579
|
14 |
* @syscall_nr: number of the syscall |
47788c58e
|
15 16 17 |
* @nb_args: number of parameters it takes * @types: list of types as strings * @args: list of args as strings (args[i] matches types[i]) |
44a6a4ee1
|
18 |
* @enter_fields: list of fields for syscall_enter trace event |
540b7b8d6
|
19 20 |
* @enter_event: associated syscall_enter trace event * @exit_event: associated syscall_exit trace event |
47788c58e
|
21 22 23 |
*/ struct syscall_metadata { const char *name; |
c252f6579
|
24 |
int syscall_nr; |
47788c58e
|
25 26 27 |
int nb_args; const char **types; const char **args; |
2e33af029
|
28 |
struct list_head enter_fields; |
540b7b8d6
|
29 |
|
2425bcb92
|
30 31 |
struct trace_event_call *enter_event; struct trace_event_call *exit_event; |
47788c58e
|
32 |
}; |
4af4206be
|
33 34 35 36 37 38 39 40 41 42 43 44 45 |
#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_HAVE_SYSCALL_TRACEPOINTS) static inline void syscall_tracepoint_update(struct task_struct *p) { if (test_thread_flag(TIF_SYSCALL_TRACEPOINT)) set_tsk_thread_flag(p, TIF_SYSCALL_TRACEPOINT); else clear_tsk_thread_flag(p, TIF_SYSCALL_TRACEPOINT); } #else static inline void syscall_tracepoint_update(struct task_struct *p) { } #endif |
47788c58e
|
46 |
#endif /* _TRACE_SYSCALL_H */ |