Lines Matching refs:prog
65 progress_init(progress_t *prog, const char *prefix, uint64_t total)
70 (void) memset(prog, 0x0, sizeof(*prog));
71 prog->size = total;
72 prog->prefix = strdup(prefix);
73 prog->start = time(NULL);
76 prog->ttywidth = winsize.ws_col;
78 prog->ttywidth = DEFAULT_TTYWIDTH;
86 progress_update(progress_t *prog, uint64_t done)
88 prog->done = done;
89 prog->percent = (prog->done * 100) / prog->size;
90 prog->now = time(NULL);
91 prog->elapsed = prog->now - prog->start;
92 if (done == 0 || prog->elapsed == 0 || prog->done / prog->elapsed == 0) {
93 prog->eta = 0;
95 prog->eta = prog->size / (prog->done / prog->elapsed) - prog->elapsed;
102 progress_reset_size(progress_t *prog, uint64_t size)
104 prog->size = size;
110 progress_complete(progress_t *prog, uint64_t done)
112 progress_update(prog, done);
113 progress_draw(prog);
120 progress_draw(progress_t *prog)
145 prefix_len = strlen(prog->prefix);
146 barlength = MIN(sizeof(buf) - 1, (unsigned)prog->ttywidth) -
156 tmp_prefix_len = MIN(sizeof(buf) - 1,(unsigned)prog->ttywidth) -
163 starc = (barlength * prog->percent) / 100;
164 abbrevsize = prog->done;
172 if (prog->done > 0) {
173 bytespersec = prog->done;
174 if (prog->elapsed > 0) {
175 bytespersec /= prog->elapsed;
181 if (prog->done == 0 || prog->elapsed <= 0 || prog->done > prog->size) {
184 secsleft = prog->eta;
194 prefix_len, (prog->prefix) ? prog->prefix : "",
195 (long long)prog->percent,