blob: 1e938d9ffa5ee26177152840acdf73072db6c289 [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/* 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 annotation_options;
Olivier Deprez157378f2022-04-04 15:47:50 +02008struct evsel;
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00009
10struct 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;
Olivier Deprez157378f2022-04-04 15:47:50 +020019 struct evsel *block_evsel;
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000020 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
34struct hist_browser *hist_browser__new(struct hists *hists);
35void hist_browser__delete(struct hist_browser *browser);
36int hist_browser__run(struct hist_browser *browser, const char *help,
Olivier Deprez157378f2022-04-04 15:47:50 +020037 bool warn_lost_event, int key);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000038void hist_browser__init(struct hist_browser *browser,
39 struct hists *hists);
40#endif /* _PERF_UI_BROWSER_HISTS_H_ */