1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 28b40f521SJohn Kacur #ifndef __PERF_VALUES_H 38b40f521SJohn Kacur #define __PERF_VALUES_H 48d513270SBrice Goglin 5d944c4eeSBorislav Petkov #include <linux/types.h> 68d513270SBrice Goglin 78d513270SBrice Goglin struct perf_read_values { 88d513270SBrice Goglin int threads; 98d513270SBrice Goglin int threads_max; 108d513270SBrice Goglin u32 *pid, *tid; 118d513270SBrice Goglin int counters; 128d513270SBrice Goglin int counters_max; 138d513270SBrice Goglin u64 *counterrawid; 148d513270SBrice Goglin char **countername; 158d513270SBrice Goglin u64 **value; 168d513270SBrice Goglin }; 178d513270SBrice Goglin 1889973506SArnaldo Carvalho de Melo int perf_read_values_init(struct perf_read_values *values); 198d513270SBrice Goglin void perf_read_values_destroy(struct perf_read_values *values); 208d513270SBrice Goglin 2189973506SArnaldo Carvalho de Melo int perf_read_values_add_value(struct perf_read_values *values, 228d513270SBrice Goglin u32 pid, u32 tid, 2383a0944fSIngo Molnar u64 rawid, const char *name, u64 value); 248d513270SBrice Goglin 259f866697SBrice Goglin void perf_read_values_display(FILE *fp, struct perf_read_values *values, 269f866697SBrice Goglin int raw); 278d513270SBrice Goglin 288b40f521SJohn Kacur #endif /* __PERF_VALUES_H */ 29