1e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#ifndef _PERF_UI_PROGRESS_H_ 2e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#define _PERF_UI_PROGRESS_H_ 1 3e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 4e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#include <../types.h> 5e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 6e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengstruct ui_progress { 7e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng void (*update)(u64, u64, const char *); 8e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng void (*finish)(void); 9e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng}; 10e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 11e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengextern struct ui_progress *progress_fns; 12e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 13e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengvoid ui_progress__init(void); 14e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 15e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengvoid ui_progress__update(u64 curr, u64 total, const char *title); 16e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengvoid ui_progress__finish(void); 17e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 18e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#endif 19