1 /* SPDX-License-Identifier: GPL-2.0 */
5 * Copyright (C) 2020, Intel Corporation
7 * Authors: Alexander Antonov <alexander.antonov@linux.intel.com>
13 #include <subcmd/parse-options.h>
14 #include "util/stat.h"
15 #include "util/parse-events.h"
16 #include "util/evlist.h"
19 struct perf_stat_config;
29 extern enum iostat_mode_t iostat_mode;
31 typedef void (*iostat_print_counter_t)(struct perf_stat_config *, struct evsel *, void *);
33 int iostat_prepare(struct evlist *evlist, struct perf_stat_config *config);
34 int iostat_parse(const struct option *opt, const char *str,
35 int unset __maybe_unused);
36 void iostat_list(struct evlist *evlist, struct perf_stat_config *config);
37 void iostat_release(struct evlist *evlist);
38 void iostat_prefix(struct evlist *evlist, struct perf_stat_config *config,
39 char *prefix, struct timespec *ts);
40 void iostat_print_header_prefix(struct perf_stat_config *config);
41 void iostat_print_metric(struct perf_stat_config *config, struct evsel *evsel,
42 struct perf_stat_output_ctx *out);
43 void iostat_print_counters(struct evlist *evlist,
44 struct perf_stat_config *config, struct timespec *ts,
45 char *prefix, iostat_print_counter_t print_cnt_cb, void *arg);
47 #endif /* _IOSTAT_H */