Migrate syscall instrumentation to TP_FIELDS
[lttng-modules.git] / instrumentation / syscalls / headers / syscalls_pointers_override.h
1 #define OVERRIDE_32_execve
2 #define OVERRIDE_64_execve
3
4 #ifndef CREATE_SYSCALL_TABLE
5
6 SC_LTTNG_TRACEPOINT_EVENT(execve,
7 TP_PROTO(sc_exit(long ret,) const char *filename, char *const *argv, char *const *envp),
8 TP_ARGS(sc_exit(ret,) filename, argv, envp),
9 TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
10 sc_in(ctf_user_string(filename, filename))
11 sc_in(ctf_integer_hex(char *const *, argv, argv))
12 sc_in(ctf_integer_hex(char *const *, envp, envp))
13 )
14 )
15
16 SC_LTTNG_TRACEPOINT_EVENT(clone,
17 TP_PROTO(sc_exit(long ret,) unsigned long clone_flags, unsigned long newsp,
18 void __user *parent_tid,
19 void __user *child_tid),
20 TP_ARGS(sc_exit(ret,) clone_flags, newsp, parent_tid, child_tid),
21 TP_FIELDS(
22 sc_exit(ctf_integer(long, ret, ret))
23 sc_in(ctf_integer_hex(unsigned long, clone_flags, clone_flags))
24 sc_in(ctf_integer_hex(unsigned long, newsp, newsp))
25 sc_in(ctf_integer_hex(void *, parent_tid, parent_tid))
26 sc_in(ctf_integer_hex(void *, child_tid, child_tid))
27 )
28 )
29
30 /* present in 32, missing in 64 due to old kernel headers */
31 #define OVERRIDE_32_getcpu
32 #define OVERRIDE_64_getcpu
33 SC_LTTNG_TRACEPOINT_EVENT(getcpu,
34 TP_PROTO(sc_exit(long ret,) unsigned __user *cpup, unsigned __user *nodep, void *tcache),
35 TP_ARGS(sc_exit(ret,) cpup, nodep, tcache),
36 TP_FIELDS(
37 sc_exit(ctf_integer(long, ret, ret))
38 sc_out(ctf_integer_hex(unsigned *, cpup, cpup))
39 sc_out(ctf_integer_hex(unsigned *, nodep, nodep))
40 sc_inout(ctf_integer_hex(void *, tcache, tcache))
41 )
42 )
43
44 #define OVERRIDE_32_pipe
45 #define OVERRIDE_64_pipe
46 SC_LTTNG_TRACEPOINT_EVENT(pipe,
47 TP_PROTO(sc_exit(long ret,) int * fildes),
48 TP_ARGS(sc_exit(ret,) fildes),
49 TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
50 sc_out(ctf_user_array(int, fildes, fildes, 2))
51 )
52 )
53
54 #define OVERRIDE_32_pipe2
55 #define OVERRIDE_64_pipe2
56 SC_LTTNG_TRACEPOINT_EVENT(pipe2,
57 TP_PROTO(sc_exit(long ret,) int * fildes, int flags),
58 TP_ARGS(sc_exit(ret,) fildes, flags),
59 TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
60 sc_out(ctf_user_array(int, fildes, fildes, 2))
61 sc_in(ctf_integer(int, flags, flags))
62 )
63 )
64
65 #endif /* CREATE_SYSCALL_TABLE */
This page took 0.030939 seconds and 4 git commands to generate.