162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef __PERF_SYMBOL_CONF
362306a36Sopenharmony_ci#define __PERF_SYMBOL_CONF 1
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <stdbool.h>
662306a36Sopenharmony_ci
762306a36Sopenharmony_cistruct strlist;
862306a36Sopenharmony_cistruct intlist;
962306a36Sopenharmony_ci
1062306a36Sopenharmony_cistruct symbol_conf {
1162306a36Sopenharmony_ci	bool		nanosecs;
1262306a36Sopenharmony_ci	unsigned short	priv_size;
1362306a36Sopenharmony_ci	bool		try_vmlinux_path,
1462306a36Sopenharmony_ci			init_annotation,
1562306a36Sopenharmony_ci			force,
1662306a36Sopenharmony_ci			ignore_vmlinux,
1762306a36Sopenharmony_ci			ignore_vmlinux_buildid,
1862306a36Sopenharmony_ci			show_kernel_path,
1962306a36Sopenharmony_ci			use_modules,
2062306a36Sopenharmony_ci			allow_aliases,
2162306a36Sopenharmony_ci			show_nr_samples,
2262306a36Sopenharmony_ci			show_total_period,
2362306a36Sopenharmony_ci			use_callchain,
2462306a36Sopenharmony_ci			cumulate_callchain,
2562306a36Sopenharmony_ci			show_branchflag_count,
2662306a36Sopenharmony_ci			exclude_other,
2762306a36Sopenharmony_ci			show_cpu_utilization,
2862306a36Sopenharmony_ci			initialized,
2962306a36Sopenharmony_ci			kptr_restrict,
3062306a36Sopenharmony_ci			event_group,
3162306a36Sopenharmony_ci			demangle,
3262306a36Sopenharmony_ci			demangle_kernel,
3362306a36Sopenharmony_ci			filter_relative,
3462306a36Sopenharmony_ci			show_hist_headers,
3562306a36Sopenharmony_ci			has_filter,
3662306a36Sopenharmony_ci			show_ref_callgraph,
3762306a36Sopenharmony_ci			hide_unresolved,
3862306a36Sopenharmony_ci			raw_trace,
3962306a36Sopenharmony_ci			report_hierarchy,
4062306a36Sopenharmony_ci			report_block,
4162306a36Sopenharmony_ci			report_individual_block,
4262306a36Sopenharmony_ci			inline_name,
4362306a36Sopenharmony_ci			disable_add2line_warn,
4462306a36Sopenharmony_ci			buildid_mmap2,
4562306a36Sopenharmony_ci			guest_code;
4662306a36Sopenharmony_ci	const char	*vmlinux_name,
4762306a36Sopenharmony_ci			*kallsyms_name,
4862306a36Sopenharmony_ci			*source_prefix,
4962306a36Sopenharmony_ci			*field_sep,
5062306a36Sopenharmony_ci			*graph_function;
5162306a36Sopenharmony_ci	const char	*default_guest_vmlinux_name,
5262306a36Sopenharmony_ci			*default_guest_kallsyms,
5362306a36Sopenharmony_ci			*default_guest_modules;
5462306a36Sopenharmony_ci	const char	*guestmount;
5562306a36Sopenharmony_ci	const char	*dso_list_str,
5662306a36Sopenharmony_ci			*comm_list_str,
5762306a36Sopenharmony_ci			*pid_list_str,
5862306a36Sopenharmony_ci			*tid_list_str,
5962306a36Sopenharmony_ci			*sym_list_str,
6062306a36Sopenharmony_ci			*col_width_list_str,
6162306a36Sopenharmony_ci			*bt_stop_list_str;
6262306a36Sopenharmony_ci	char		*addr2line_path;
6362306a36Sopenharmony_ci	unsigned long	time_quantum;
6462306a36Sopenharmony_ci       struct strlist	*dso_list,
6562306a36Sopenharmony_ci			*comm_list,
6662306a36Sopenharmony_ci			*sym_list,
6762306a36Sopenharmony_ci			*dso_from_list,
6862306a36Sopenharmony_ci			*dso_to_list,
6962306a36Sopenharmony_ci			*sym_from_list,
7062306a36Sopenharmony_ci			*sym_to_list,
7162306a36Sopenharmony_ci			*bt_stop_list;
7262306a36Sopenharmony_ci	struct intlist	*pid_list,
7362306a36Sopenharmony_ci			*tid_list,
7462306a36Sopenharmony_ci			*addr_list;
7562306a36Sopenharmony_ci	const char	*symfs;
7662306a36Sopenharmony_ci	int		res_sample;
7762306a36Sopenharmony_ci	int		pad_output_len_dso;
7862306a36Sopenharmony_ci	int		group_sort_idx;
7962306a36Sopenharmony_ci	int		addr_range;
8062306a36Sopenharmony_ci};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciextern struct symbol_conf symbol_conf;
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci#endif // __PERF_SYMBOL_CONF
85