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