blob: f1913acf73f1790366ebd2f3f802f0472221bc7c [file] [log] [blame]
Junio C Hamanoe0173ad2007-04-28 23:38:52 -07001#ifndef PROGRESS_H
2#define PROGRESS_H
Nicolas Pitre96a02f82007-04-18 14:27:45 -04003
Nicolas Pitredc6a0752007-10-30 14:57:32 -04004struct progress;
Nicolas Pitre96a02f82007-04-18 14:27:45 -04005
Đoàn Trần Công Danh3cacb9a2020-04-27 21:22:37 +07006#ifdef GIT_TEST_PROGRESS_ONLY
7
8extern int progress_testing;
9extern uint64_t progress_test_ns;
10void progress_test_force_update(void);
11
12#endif
13
Elijah Newrend6861d02017-11-13 12:15:58 -080014void display_throughput(struct progress *progress, uint64_t total);
SZEDER Gábor9219d122019-04-05 02:45:36 +020015void display_progress(struct progress *progress, uint64_t n);
Elijah Newrend6861d02017-11-13 12:15:58 -080016struct progress *start_progress(const char *title, uint64_t total);
Jeff Hostetler9d81ecb2019-03-21 12:36:11 -070017struct progress *start_sparse_progress(const char *title, uint64_t total);
Elijah Newrend6861d02017-11-13 12:15:58 -080018struct progress *start_delayed_progress(const char *title, uint64_t total);
Jeff Hostetler9d81ecb2019-03-21 12:36:11 -070019struct progress *start_delayed_sparse_progress(const char *title,
20 uint64_t total);
Nicolas Pitredc6a0752007-10-30 14:57:32 -040021void stop_progress(struct progress **progress);
Nicolas Pitrea984a062007-11-08 15:45:41 -050022void stop_progress_msg(struct progress **progress, const char *msg);
Nicolas Pitre96a02f82007-04-18 14:27:45 -040023
24#endif