xref: /linux/tools/perf/ui/browsers/hists.h (revision 4b660dbd9ee2059850fd30e0df420ca7a38a1856)
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 evsel;
8 
9 struct 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 
32 struct hist_browser *hist_browser__new(struct hists *hists);
33 void hist_browser__delete(struct hist_browser *browser);
34 int hist_browser__run(struct hist_browser *browser, const char *help,
35 		      bool warn_lost_event, int key);
36 void hist_browser__init(struct hist_browser *browser,
37 			struct hists *hists);
38 #endif /* _PERF_UI_BROWSER_HISTS_H_ */
39