progress.h (773B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _PERF_UI_PROGRESS_H_ 3#define _PERF_UI_PROGRESS_H_ 1 4 5#include <linux/types.h> 6 7void ui_progress__finish(void); 8 9struct ui_progress { 10 const char *title; 11 u64 curr, next, step, total; 12 bool size; 13}; 14 15void __ui_progress__init(struct ui_progress *p, u64 total, 16 const char *title, bool size); 17 18#define ui_progress__init(p, total, title) \ 19 __ui_progress__init(p, total, title, false) 20 21#define ui_progress__init_size(p, total, title) \ 22 __ui_progress__init(p, total, title, true) 23 24void ui_progress__update(struct ui_progress *p, u64 adv); 25 26struct ui_progress_ops { 27 void (*init)(struct ui_progress *p); 28 void (*update)(struct ui_progress *p); 29 void (*finish)(void); 30}; 31 32extern struct ui_progress_ops *ui_progress__ops; 33 34#endif