18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef _PERF_UI_BROWSER_HISTS_H_
38c2ecf20Sopenharmony_ci#define _PERF_UI_BROWSER_HISTS_H_ 1
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include "ui/browser.h"
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cistruct annotation_options;
88c2ecf20Sopenharmony_cistruct evsel;
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cistruct hist_browser {
118c2ecf20Sopenharmony_ci	struct ui_browser   b;
128c2ecf20Sopenharmony_ci	struct hists	    *hists;
138c2ecf20Sopenharmony_ci	struct hist_entry   *he_selection;
148c2ecf20Sopenharmony_ci	struct map_symbol   *selection;
158c2ecf20Sopenharmony_ci	struct hist_browser_timer *hbt;
168c2ecf20Sopenharmony_ci	struct pstack	    *pstack;
178c2ecf20Sopenharmony_ci	struct perf_env	    *env;
188c2ecf20Sopenharmony_ci	struct annotation_options *annotation_opts;
198c2ecf20Sopenharmony_ci	struct evsel	    *block_evsel;
208c2ecf20Sopenharmony_ci	int		     print_seq;
218c2ecf20Sopenharmony_ci	bool		     show_dso;
228c2ecf20Sopenharmony_ci	bool		     show_headers;
238c2ecf20Sopenharmony_ci	float		     min_pcnt;
248c2ecf20Sopenharmony_ci	u64		     nr_non_filtered_entries;
258c2ecf20Sopenharmony_ci	u64		     nr_hierarchy_entries;
268c2ecf20Sopenharmony_ci	u64		     nr_callchain_rows;
278c2ecf20Sopenharmony_ci	bool		     c2c_filter;
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	/* Get title string. */
308c2ecf20Sopenharmony_ci	int                  (*title)(struct hist_browser *browser,
318c2ecf20Sopenharmony_ci			     char *bf, size_t size);
328c2ecf20Sopenharmony_ci};
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_cistruct hist_browser *hist_browser__new(struct hists *hists);
358c2ecf20Sopenharmony_civoid hist_browser__delete(struct hist_browser *browser);
368c2ecf20Sopenharmony_ciint hist_browser__run(struct hist_browser *browser, const char *help,
378c2ecf20Sopenharmony_ci		      bool warn_lost_event, int key);
388c2ecf20Sopenharmony_civoid hist_browser__init(struct hist_browser *browser,
398c2ecf20Sopenharmony_ci			struct hists *hists);
408c2ecf20Sopenharmony_ci#endif /* _PERF_UI_BROWSER_HISTS_H_ */
41