^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __PERF_VALUES_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __PERF_VALUES_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) struct perf_read_values {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) int threads;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) int threads_max;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) u32 *pid, *tid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) int counters;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) int counters_max;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) u64 *counterrawid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) char **countername;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) u64 **value;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) int perf_read_values_init(struct perf_read_values *values);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) void perf_read_values_destroy(struct perf_read_values *values);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) int perf_read_values_add_value(struct perf_read_values *values,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) u32 pid, u32 tid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) u64 rawid, const char *name, u64 value);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) void perf_read_values_display(FILE *fp, struct perf_read_values *values,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) int raw);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #endif /* __PERF_VALUES_H */