162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef __PMUS_H 362306a36Sopenharmony_ci#define __PMUS_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_cistruct perf_pmu; 662306a36Sopenharmony_cistruct print_callbacks; 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciint pmu_name_len_no_suffix(const char *str, unsigned long *num); 962306a36Sopenharmony_ci 1062306a36Sopenharmony_civoid perf_pmus__destroy(void); 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cistruct perf_pmu *perf_pmus__find(const char *name); 1362306a36Sopenharmony_cistruct perf_pmu *perf_pmus__find_by_type(unsigned int type); 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cistruct perf_pmu *perf_pmus__scan(struct perf_pmu *pmu); 1662306a36Sopenharmony_cistruct perf_pmu *perf_pmus__scan_core(struct perf_pmu *pmu); 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciconst struct perf_pmu *perf_pmus__pmu_for_pmu_filter(const char *str); 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciint perf_pmus__num_mem_pmus(void); 2162306a36Sopenharmony_civoid perf_pmus__print_pmu_events(const struct print_callbacks *print_cb, void *print_state); 2262306a36Sopenharmony_cibool perf_pmus__have_event(const char *pname, const char *name); 2362306a36Sopenharmony_ciint perf_pmus__num_core_pmus(void); 2462306a36Sopenharmony_cibool perf_pmus__supports_extended_type(void); 2562306a36Sopenharmony_cichar *perf_pmus__default_pmu_name(void); 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci#endif /* __PMUS_H */ 28