FILE
bpf-event.h
File preview with syntax highlighting.
linux-6.19.14/tools/perf/util/bpf-event.h
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 <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_metadata { 21 union perf_event *event; 22 char **prog_names; 23 __u64 nr_prog_names; 24}; 25 26struct bpf_prog_info_node { 27 struct perf_bpil *info_linear; 28 struct bpf_metadata *metadata; 29 struct rb_node rb_node; 30}; 31 32struct btf_node { 33 struct rb_node rb_node; 34 u32 id; 35 u32 data_size; 36 char data[]; 37}; 38 39#ifdef HAVE_LIBBPF_SUPPORT 40int machine__process_bpf(struct machine *machine, union perf_event *event, 41 struct perf_sample *sample); 42int evlist__add_bpf_sb_event(struct evlist *evlist, struct perf_env *env); 43void __bpf_event__print_bpf_prog_info(struct bpf_prog_info *info, 44 struct perf_env *env, 45 FILE *fp); 46void bpf_metadata_free(struct bpf_metadata *metadata); 47#else 48static inline int machine__process_bpf(struct machine *machine __maybe_unused, 49 union perf_event *event __maybe_unused, 50 struct perf_sample *sample __maybe_unused) 51{ 52 return 0; 53} 54 55static inline int evlist__add_bpf_sb_event(struct evlist *evlist __maybe_unused, 56 struct perf_env *env __maybe_unused) 57{ 58 return 0; 59} 60 61static inline void __bpf_event__print_bpf_prog_info(struct bpf_prog_info *info __maybe_unused, 62 struct perf_env *env __maybe_unused, 63 FILE *fp __maybe_unused) 64{ 65 66} 67 68static inline void bpf_metadata_free(struct bpf_metadata *metadata __maybe_unused) 69{ 70 71} 72#endif // HAVE_LIBBPF_SUPPORT 73#endif
~/
Read-only file preview.