1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // SPDX-License-Identifier: GPL-2.0
- #ifndef __TRACE_SYNTH_H
- #define __TRACE_SYNTH_H
- #include "trace_dynevent.h"
- #define SYNTH_SYSTEM "synthetic"
- #define SYNTH_FIELDS_MAX 64
- #define STR_VAR_LEN_MAX MAX_FILTER_STR_VAL /* must be multiple of sizeof(u64) */
- struct synth_field {
- char *type;
- char *name;
- size_t size;
- unsigned int offset;
- unsigned int field_pos;
- bool is_signed;
- bool is_string;
- bool is_dynamic;
- bool is_stack;
- };
- struct synth_event {
- struct dyn_event devent;
- int ref;
- char *name;
- struct synth_field **fields;
- unsigned int n_fields;
- struct synth_field **dynamic_fields;
- unsigned int n_dynamic_fields;
- unsigned int n_u64;
- struct trace_event_class class;
- struct trace_event_call call;
- struct tracepoint *tp;
- struct module *mod;
- };
- extern struct synth_event *find_synth_event(const char *name);
- #endif /* __TRACE_SYNTH_H */
|