61 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef __PERF_BPF_EVENT_H3#define __PERF_BPF_EVENT_H4 5#include <linux/compiler.h>6#include <linux/rbtree.h>7#include <api/fd/array.h>8#include <stdio.h>9 10struct bpf_prog_info;11struct machine;12union perf_event;13struct perf_env;14struct perf_sample;15struct perf_session;16struct record_opts;17struct evlist;18struct target;19 20struct bpf_prog_info_node {21 struct perf_bpil *info_linear;22 struct rb_node rb_node;23};24 25struct btf_node {26 struct rb_node rb_node;27 u32 id;28 u32 data_size;29 char data[];30};31 32#ifdef HAVE_LIBBPF_SUPPORT33int machine__process_bpf(struct machine *machine, union perf_event *event,34 struct perf_sample *sample);35int evlist__add_bpf_sb_event(struct evlist *evlist, struct perf_env *env);36void __bpf_event__print_bpf_prog_info(struct bpf_prog_info *info,37 struct perf_env *env,38 FILE *fp);39#else40static inline int machine__process_bpf(struct machine *machine __maybe_unused,41 union perf_event *event __maybe_unused,42 struct perf_sample *sample __maybe_unused)43{44 return 0;45}46 47static inline int evlist__add_bpf_sb_event(struct evlist *evlist __maybe_unused,48 struct perf_env *env __maybe_unused)49{50 return 0;51}52 53static inline void __bpf_event__print_bpf_prog_info(struct bpf_prog_info *info __maybe_unused,54 struct perf_env *env __maybe_unused,55 FILE *fp __maybe_unused)56{57 58}59#endif // HAVE_LIBBPF_SUPPORT60#endif61