forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
876 B
40 lines
876 B
// 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 32 |
|
|
|
#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 */
|
|
|