Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
trace
syscall.h
Go to the documentation of this file.
1
#ifndef _TRACE_SYSCALL_H
2
#define _TRACE_SYSCALL_H
3
4
#include <
linux/tracepoint.h
>
5
#include <
linux/unistd.h
>
6
#include <
linux/ftrace_event.h
>
7
8
#include <asm/ptrace.h>
9
10
11
/*
12
* A syscall entry in the ftrace syscalls array.
13
*
14
* @name: name of the syscall
15
* @syscall_nr: number of the syscall
16
* @nb_args: number of parameters it takes
17
* @types: list of types as strings
18
* @args: list of args as strings (args[i] matches types[i])
19
* @enter_event: associated syscall_enter trace event
20
* @exit_event: associated syscall_exit trace event
21
*/
22
struct
syscall_metadata
{
23
const
char
*
name
;
24
int
syscall_nr
;
25
int
nb_args
;
26
const
char
**
types
;
27
const
char
**
args
;
28
struct
list_head
enter_fields
;
29
30
struct
ftrace_event_call
*
enter_event
;
31
struct
ftrace_event_call
*
exit_event
;
32
};
33
34
#ifdef CONFIG_FTRACE_SYSCALLS
35
extern
unsigned
long
arch_syscall_addr
(
int
nr
);
36
extern
int
init_syscall_trace
(
struct
ftrace_event_call
*call);
37
38
extern
int
reg_event_syscall_enter
(
struct
ftrace_event_call
*call);
39
extern
void
unreg_event_syscall_enter
(
struct
ftrace_event_call
*call);
40
extern
int
reg_event_syscall_exit
(
struct
ftrace_event_call
*call);
41
extern
void
unreg_event_syscall_exit
(
struct
ftrace_event_call
*call);
42
extern
int
43
ftrace_format_syscall(
struct
ftrace_event_call
*call,
struct
trace_seq
*
s
);
44
enum
print_line_t
print_syscall_enter
(
struct
trace_iterator
*iter,
int
flags
,
45
struct
trace_event
*
event
);
46
enum
print_line_t
print_syscall_exit
(
struct
trace_iterator
*iter,
int
flags
,
47
struct
trace_event
*
event
);
48
#endif
49
50
#ifdef CONFIG_PERF_EVENTS
51
int
perf_sysenter_enable(
struct
ftrace_event_call
*call);
52
void
perf_sysenter_disable(
struct
ftrace_event_call
*call);
53
int
perf_sysexit_enable(
struct
ftrace_event_call
*call);
54
void
perf_sysexit_disable(
struct
ftrace_event_call
*call);
55
#endif
56
57
#endif
/* _TRACE_SYSCALL_H */
Generated on Thu Jan 10 2013 12:55:24 for Linux Kernel by
1.8.2