diff options
Diffstat (limited to 'tools/perf/util/bpf-event.h')
-rw-r--r-- | tools/perf/util/bpf-event.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tools/perf/util/bpf-event.h b/tools/perf/util/bpf-event.h new file mode 100644 index 000000000..50f741246 --- /dev/null +++ b/tools/perf/util/bpf-event.h @@ -0,0 +1,61 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __PERF_BPF_EVENT_H +#define __PERF_BPF_EVENT_H + +#include <linux/compiler.h> +#include <linux/rbtree.h> +#include <pthread.h> +#include <api/fd/array.h> +#include <stdio.h> + +struct bpf_prog_info; +struct machine; +union perf_event; +struct perf_env; +struct perf_sample; +struct perf_session; +struct record_opts; +struct evlist; +struct target; + +struct bpf_prog_info_node { + struct bpf_prog_info_linear *info_linear; + struct rb_node rb_node; +}; + +struct btf_node { + struct rb_node rb_node; + u32 id; + u32 data_size; + char data[]; +}; + +#ifdef HAVE_LIBBPF_SUPPORT +int machine__process_bpf(struct machine *machine, union perf_event *event, + struct perf_sample *sample); +int evlist__add_bpf_sb_event(struct evlist *evlist, struct perf_env *env); +void __bpf_event__print_bpf_prog_info(struct bpf_prog_info *info, + struct perf_env *env, + FILE *fp); +#else +static inline int machine__process_bpf(struct machine *machine __maybe_unused, + union perf_event *event __maybe_unused, + struct perf_sample *sample __maybe_unused) +{ + return 0; +} + +static inline int evlist__add_bpf_sb_event(struct evlist *evlist __maybe_unused, + struct perf_env *env __maybe_unused) +{ + return 0; +} + +static inline void __bpf_event__print_bpf_prog_info(struct bpf_prog_info *info __maybe_unused, + struct perf_env *env __maybe_unused, + FILE *fp __maybe_unused) +{ + +} +#endif // HAVE_LIBBPF_SUPPORT +#endif |