1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _PERF_UI_BROWSER_HISTS_H_
3#define _PERF_UI_BROWSER_HISTS_H_ 1
4
5#include "ui/browser.h"
6
7struct evsel;
8
9struct hist_browser {
10	struct ui_browser   b;
11	struct hists	    *hists;
12	struct hist_entry   *he_selection;
13	struct map_symbol   *selection;
14	struct hist_browser_timer *hbt;
15	struct pstack	    *pstack;
16	struct perf_env	    *env;
17	struct evsel	    *block_evsel;
18	int		     print_seq;
19	bool		     show_dso;
20	bool		     show_headers;
21	float		     min_pcnt;
22	u64		     nr_non_filtered_entries;
23	u64		     nr_hierarchy_entries;
24	u64		     nr_callchain_rows;
25	bool		     c2c_filter;
26
27	/* Get title string. */
28	int                  (*title)(struct hist_browser *browser,
29			     char *bf, size_t size);
30};
31
32struct hist_browser *hist_browser__new(struct hists *hists);
33void hist_browser__delete(struct hist_browser *browser);
34int hist_browser__run(struct hist_browser *browser, const char *help,
35		      bool warn_lost_event, int key);
36void hist_browser__init(struct hist_browser *browser,
37			struct hists *hists);
38#endif /* _PERF_UI_BROWSER_HISTS_H_ */
39