/* SPDX-License-Identifier: GPL-2.0 */ /* * perf iostat * * Copyright (C) 2020, Intel Corporation * * Authors: Alexander Antonov <alexander.antonov@linux.intel.com> */ #ifndef _IOSTAT_H #define _IOSTAT_H #include <subcmd/parse-options.h> #include "util/stat.h" #include "util/parse-events.h" #include "util/evlist.h" struct option; struct perf_stat_config; struct evlist; struct timespec; enum iostat_mode_t { IOSTAT_NONE = -1, IOSTAT_RUN = 0, IOSTAT_LIST = 1 }; extern enum iostat_mode_t iostat_mode; typedef void (*iostat_print_counter_t)(struct perf_stat_config *, struct evsel *, void *); int iostat_prepare(struct evlist *evlist, struct perf_stat_config *config); int iostat_parse(const struct option *opt, const char *str, int unset __maybe_unused); void iostat_list(struct evlist *evlist, struct perf_stat_config *config); void iostat_release(struct evlist *evlist); void iostat_prefix(struct evlist *evlist, struct perf_stat_config *config, char *prefix, struct timespec *ts); void iostat_print_header_prefix(struct perf_stat_config *config); void iostat_print_metric(struct perf_stat_config *config, struct evsel *evsel, struct perf_stat_output_ctx *out); void iostat_print_counters(struct evlist *evlist, struct perf_stat_config *config, struct timespec *ts, char *prefix, iostat_print_counter_t print_cnt_cb, void *arg); #endif /* _IOSTAT_H */