40 lines · 876 B · C
RawDownload
// 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;}; 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 */