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