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