1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 #ifndef __TRACE_SYNTH_H 2 #ifndef __TRACE_SYNTH_H 3 #define __TRACE_SYNTH_H 3 #define __TRACE_SYNTH_H 4 4 5 #include "trace_dynevent.h" 5 #include "trace_dynevent.h" 6 6 7 #define SYNTH_SYSTEM "synthetic" 7 #define SYNTH_SYSTEM "synthetic" 8 #define SYNTH_FIELDS_MAX 64 8 #define SYNTH_FIELDS_MAX 64 9 9 10 #define STR_VAR_LEN_MAX MAX_FILTER_STR 10 #define STR_VAR_LEN_MAX MAX_FILTER_STR_VAL /* must be multiple of sizeof(u64) */ 11 11 12 struct synth_field { 12 struct synth_field { 13 char *type; 13 char *type; 14 char *name; 14 char *name; 15 size_t size; 15 size_t size; 16 unsigned int offset; 16 unsigned int offset; 17 unsigned int field_pos; 17 unsigned int field_pos; 18 bool is_signed; 18 bool is_signed; 19 bool is_string; 19 bool is_string; 20 bool is_dynamic; 20 bool is_dynamic; 21 bool is_stack; 21 bool is_stack; 22 }; 22 }; 23 23 24 struct synth_event { 24 struct synth_event { 25 struct dyn_event 25 struct dyn_event devent; 26 int 26 int ref; 27 char 27 char *name; 28 struct synth_field 28 struct synth_field **fields; 29 unsigned int 29 unsigned int n_fields; 30 struct synth_field 30 struct synth_field **dynamic_fields; 31 unsigned int 31 unsigned int n_dynamic_fields; 32 unsigned int 32 unsigned int n_u64; 33 struct trace_event_class 33 struct trace_event_class class; 34 struct trace_event_call 34 struct trace_event_call call; 35 struct tracepoint 35 struct tracepoint *tp; 36 struct module 36 struct module *mod; 37 }; 37 }; 38 38 39 extern struct synth_event *find_synth_event(co 39 extern struct synth_event *find_synth_event(const char *name); 40 40 41 #endif /* __TRACE_SYNTH_H */ 41 #endif /* __TRACE_SYNTH_H */ 42 42
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.