| /* 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 |