35 lines
		
	
	
		
			773 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			773 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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
 |