Lines Matching defs: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)
143 barlength = MIN(sizeof(buf) - 1, (unsigned)prog->ttywidth) - BAROVERHEAD - strlen(prog->prefix);
144 starc = (barlength * prog->percent) / 100;
145 abbrevsize = prog->done;
153 if (prog->done > 0) {
154 bytespersec = prog->done;
155 if (prog->elapsed > 0) {
156 bytespersec /= prog->elapsed;
162 if (prog->done == 0 || prog->elapsed <= 0 || prog->done > prog->size) {
165 secsleft = prog->eta;
175 (prog->prefix) ? prog->prefix : "",
176 (long long)prog->percent,