brintos

brintos / linux-shallow public Read only

0
0
Text · 1.4 KiB · e2f0420 Raw
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