]>
Commit | Line | Data |
---|---|---|
285a30c3 JO |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef __LIBPERF_EVSEL_H | |
3 | #define __LIBPERF_EVSEL_H | |
4 | ||
5c30af92 | 5 | #include <stdint.h> |
b04c597a JO |
6 | #include <perf/core.h> |
7 | ||
285a30c3 | 8 | struct perf_evsel; |
1fc632ce | 9 | struct perf_event_attr; |
50a4e6fa JO |
10 | struct perf_cpu_map; |
11 | struct perf_thread_map; | |
285a30c3 | 12 | |
5c30af92 JO |
13 | struct perf_counts_values { |
14 | union { | |
15 | struct { | |
16 | uint64_t val; | |
17 | uint64_t ena; | |
18 | uint64_t run; | |
19 | }; | |
20 | uint64_t values[3]; | |
21 | }; | |
22 | }; | |
23 | ||
63bd5dfa | 24 | LIBPERF_API struct perf_evsel *perf_evsel__new(struct perf_event_attr *attr); |
b9358ee9 | 25 | LIBPERF_API void perf_evsel__delete(struct perf_evsel *evsel); |
50a4e6fa JO |
26 | LIBPERF_API int perf_evsel__open(struct perf_evsel *evsel, struct perf_cpu_map *cpus, |
27 | struct perf_thread_map *threads); | |
88761fa1 | 28 | LIBPERF_API void perf_evsel__close(struct perf_evsel *evsel); |
99d6141d | 29 | LIBPERF_API void perf_evsel__close_cpu(struct perf_evsel *evsel, int cpu); |
5c30af92 JO |
30 | LIBPERF_API int perf_evsel__read(struct perf_evsel *evsel, int cpu, int thread, |
31 | struct perf_counts_values *count); | |
a00571fd | 32 | LIBPERF_API int perf_evsel__enable(struct perf_evsel *evsel); |
363fb121 | 33 | LIBPERF_API int perf_evsel__enable_cpu(struct perf_evsel *evsel, int cpu); |
a00571fd | 34 | LIBPERF_API int perf_evsel__disable(struct perf_evsel *evsel); |
363fb121 | 35 | LIBPERF_API int perf_evsel__disable_cpu(struct perf_evsel *evsel, int cpu); |
0ff1a0fd JO |
36 | LIBPERF_API struct perf_cpu_map *perf_evsel__cpus(struct perf_evsel *evsel); |
37 | LIBPERF_API struct perf_thread_map *perf_evsel__threads(struct perf_evsel *evsel); | |
384c4ad1 | 38 | LIBPERF_API struct perf_event_attr *perf_evsel__attr(struct perf_evsel *evsel); |
b04c597a | 39 | |
285a30c3 | 40 | #endif /* __LIBPERF_EVSEL_H */ |