/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _PERF_UI_PROGRESS_H_ #define _PERF_UI_PROGRESS_H_ 1 #include <linux/types.h> void ui_progress__finish(void); struct ui_progress { const char *title; u64 curr, next, step, total; bool size; }; void __ui_progress__init(struct ui_progress *p, u64 total, const char *title, bool size); #define ui_progress__init(p, total, title) \ __ui_progress__init(p, total, title, false) #define ui_progress__init_size(p, total, title) \ __ui_progress__init(p, total, title, true) void ui_progress__update(struct ui_progress *p, u64 adv); struct ui_progress_ops { void (*init)(struct ui_progress *p); void (*update)(struct ui_progress *p); void (*finish)(void); }; extern struct ui_progress_ops *ui_progress__ops; #endif