1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 28b40f521SJohn Kacur #ifndef __PERF_VALUES_H 38b40f521SJohn Kacur #define __PERF_VALUES_H 48d513270SBrice Goglin 5*0993d724SNamhyung Kim #include <stdio.h> 6d944c4eeSBorislav Petkov #include <linux/types.h> 78d513270SBrice Goglin 88d513270SBrice Goglin struct perf_read_values { 98d513270SBrice Goglin int threads; 108d513270SBrice Goglin int threads_max; 118d513270SBrice Goglin u32 *pid, *tid; 128d513270SBrice Goglin int counters; 138d513270SBrice Goglin int counters_max; 148d513270SBrice Goglin u64 *counterrawid; 158d513270SBrice Goglin char **countername; 168d513270SBrice Goglin u64 **value; 178d513270SBrice Goglin }; 188d513270SBrice Goglin 1989973506SArnaldo Carvalho de Melo int perf_read_values_init(struct perf_read_values *values); 208d513270SBrice Goglin void perf_read_values_destroy(struct perf_read_values *values); 218d513270SBrice Goglin 2289973506SArnaldo Carvalho de Melo int perf_read_values_add_value(struct perf_read_values *values, 238d513270SBrice Goglin u32 pid, u32 tid, 2483a0944fSIngo Molnar u64 rawid, const char *name, u64 value); 258d513270SBrice Goglin 269f866697SBrice Goglin void perf_read_values_display(FILE *fp, struct perf_read_values *values, 279f866697SBrice Goglin int raw); 288d513270SBrice Goglin 298b40f521SJohn Kacur #endif /* __PERF_VALUES_H */ 30