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 
7 struct annotation_options;
8 struct evsel;
9 
10 struct hist_browser {
11 	struct ui_browser   b;
12 	struct hists	    *hists;
13 	struct hist_entry   *he_selection;
14 	struct map_symbol   *selection;
15 	struct hist_browser_timer *hbt;
16 	struct pstack	    *pstack;
17 	struct perf_env	    *env;
18 	struct annotation_options *annotation_opts;
19 	struct evsel	    *block_evsel;
20 	int		     print_seq;
21 	bool		     show_dso;
22 	bool		     show_headers;
23 	float		     min_pcnt;
24 	u64		     nr_non_filtered_entries;
25 	u64		     nr_hierarchy_entries;
26 	u64		     nr_callchain_rows;
27 	bool		     c2c_filter;
28 
29 	/* Get title string. */
30 	int                  (*title)(struct hist_browser *browser,
31 			     char *bf, size_t size);
32 };
33 
34 struct hist_browser *hist_browser__new(struct hists *hists);
35 void hist_browser__delete(struct hist_browser *browser);
36 int hist_browser__run(struct hist_browser *browser, const char *help,
37 		      bool warn_lost_event, int key);
38 void hist_browser__init(struct hist_browser *browser,
39 			struct hists *hists);
40 #endif /* _PERF_UI_BROWSER_HISTS_H_ */
41