forked from mirrors/linux
		
	Conflicts: tools/perf/arch/arm/annotate/instructions.c tools/perf/arch/arm64/annotate/instructions.c tools/perf/arch/powerpc/annotate/instructions.c tools/perf/arch/s390/annotate/instructions.c tools/perf/arch/x86/tests/intel-cqm.c tools/perf/ui/tui/progress.c tools/perf/util/zlib.c Signed-off-by: Ingo Molnar <mingo@kernel.org>
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			773 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			34 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
 |