1#ifndef PERF_UTIL_OFF_CPU_H
2#define PERF_UTIL_OFF_CPU_H
3
4#include <linux/perf_event.h>
5
6struct evlist;
7struct target;
8struct perf_session;
9struct record_opts;
10
11#define OFFCPU_EVENT  "offcpu-time"
12
13#define OFFCPU_SAMPLE_TYPES  (PERF_SAMPLE_IDENTIFIER | PERF_SAMPLE_IP | \
14			      PERF_SAMPLE_TID | PERF_SAMPLE_TIME | \
15			      PERF_SAMPLE_ID | PERF_SAMPLE_CPU | \
16			      PERF_SAMPLE_PERIOD | PERF_SAMPLE_CALLCHAIN | \
17			      PERF_SAMPLE_CGROUP)
18
19
20#ifdef HAVE_BPF_SKEL
21int off_cpu_prepare(struct evlist *evlist, struct target *target,
22		    struct record_opts *opts);
23int off_cpu_write(struct perf_session *session);
24#else
25static inline int off_cpu_prepare(struct evlist *evlist __maybe_unused,
26				  struct target *target __maybe_unused,
27				  struct record_opts *opts __maybe_unused)
28{
29	return -1;
30}
31
32static inline int off_cpu_write(struct perf_session *session __maybe_unused)
33{
34	return -1;
35}
36#endif
37
38#endif  /* PERF_UTIL_OFF_CPU_H */
39