1
2 #ifndef TRACEPOINT_DEFS_H
3 #define TRACEPOINT_DEFS_H 1
4
5
6
7
8
9
10
11 #include <linux/atomic.h>
12 #include <linux/static_key.h>
13
14 struct trace_print_flags {
15 unsigned long mask;
16 const char *name;
17 };
18
19 struct trace_print_flags_u64 {
20 unsigned long long mask;
21 const char *name;
22 };
23
24 struct tracepoint_func {
25 void *func;
26 void *data;
27 int prio;
28 };
29
30 struct tracepoint {
31 const char *name;
32 struct static_key key;
33 int (*regfunc)(void);
34 void (*unregfunc)(void);
35 struct tracepoint_func __rcu *funcs;
36 };
37
38 #ifdef CONFIG_HAVE_ARCH_PREL32_RELOCATIONS
39 typedef const int tracepoint_ptr_t;
40 #else
41 typedef struct tracepoint * const tracepoint_ptr_t;
42 #endif
43
44 struct bpf_raw_event_map {
45 struct tracepoint *tp;
46 void *bpf_func;
47 u32 num_args;
48 u32 writable_size;
49 } __aligned(32);
50
51 #endif