1 #ifndef TRACEPOINT_DEFS_H 2 #define TRACEPOINT_DEFS_H 1 3 4 /* 5 * File can be included directly by headers who only want to access 6 * tracepoint->key to guard out of line trace calls, or the definition of 7 * trace_print_flags{_u64}. Otherwise linux/tracepoint.h should be used. 8 */ 9 10 #include <linux/atomic.h> 11 #include <linux/static_key.h> 12 13 struct trace_print_flags { 14 unsigned long mask; 15 const char *name; 16 }; 17 18 struct trace_print_flags_u64 { 19 unsigned long long mask; 20 const char *name; 21 }; 22 23 struct tracepoint_func { 24 void *func; 25 void *data; 26 int prio; 27 }; 28 29 struct tracepoint { 30 const char *name; /* Tracepoint name */ 31 struct static_key key; 32 void (*regfunc)(void); 33 void (*unregfunc)(void); 34 struct tracepoint_func __rcu *funcs; 35 }; 36 37 #endif 38