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