1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __PERF_BPF_EVENT_H
3 #define __PERF_BPF_EVENT_H
5 #include <linux/compiler.h>
6 #include <linux/rbtree.h>
8 #include <api/fd/array.h>
20 struct bpf_prog_info_node
{
21 struct bpf_prog_info_linear
*info_linear
;
22 struct rb_node rb_node
;
26 struct rb_node rb_node
;
32 #ifdef HAVE_LIBBPF_SUPPORT
33 int machine__process_bpf_event(struct machine
*machine
, union perf_event
*event
,
34 struct perf_sample
*sample
);
36 int perf_event__synthesize_bpf_events(struct perf_session
*session
,
37 perf_event__handler_t process
,
38 struct machine
*machine
,
39 struct record_opts
*opts
);
40 int bpf_event__add_sb_event(struct perf_evlist
**evlist
,
41 struct perf_env
*env
);
42 void bpf_event__print_bpf_prog_info(struct bpf_prog_info
*info
,
46 static inline int machine__process_bpf_event(struct machine
*machine __maybe_unused
,
47 union perf_event
*event __maybe_unused
,
48 struct perf_sample
*sample __maybe_unused
)
53 static inline int perf_event__synthesize_bpf_events(struct perf_session
*session __maybe_unused
,
54 perf_event__handler_t process __maybe_unused
,
55 struct machine
*machine __maybe_unused
,
56 struct record_opts
*opts __maybe_unused
)
61 static inline int bpf_event__add_sb_event(struct perf_evlist
**evlist __maybe_unused
,
62 struct perf_env
*env __maybe_unused
)
67 static inline void bpf_event__print_bpf_prog_info(struct bpf_prog_info
*info __maybe_unused
,
68 struct perf_env
*env __maybe_unused
,
69 FILE *fp __maybe_unused
)
73 #endif // HAVE_LIBBPF_SUPPORT