xref: /linux/tools/perf/util/bpf_skel/sample-filter.h (revision 84b9b44b)
1 #ifndef PERF_UTIL_BPF_SKEL_SAMPLE_FILTER_H
2 #define PERF_UTIL_BPF_SKEL_SAMPLE_FILTER_H
3 
4 #define MAX_FILTERS  64
5 
6 /* supported filter operations */
7 enum perf_bpf_filter_op {
8 	PBF_OP_EQ,
9 	PBF_OP_NEQ,
10 	PBF_OP_GT,
11 	PBF_OP_GE,
12 	PBF_OP_LT,
13 	PBF_OP_LE,
14 	PBF_OP_AND,
15 	PBF_OP_GROUP_BEGIN,
16 	PBF_OP_GROUP_END,
17 };
18 
19 /* BPF map entry for filtering */
20 struct perf_bpf_filter_entry {
21 	enum perf_bpf_filter_op op;
22 	__u32 part; /* sub-sample type info when it has multiple values */
23 	__u64 flags; /* perf sample type flags */
24 	__u64 value;
25 };
26 
27 #endif /* PERF_UTIL_BPF_SKEL_SAMPLE_FILTER_H */