Lines Matching refs:prog
29 static errcode_t ext2fs_progress_display(ext2_sim_progmeter prog)
33 fputs(prog->label, prog->f);
34 width = prog->labelwidth - strlen(prog->label);
36 putc(' ', prog->f);
37 if (prog->labelwidth + prog->barwidth > 80) {
38 fputs("\n", prog->f);
39 for (width = prog->labelwidth; width > 0; width--)
40 putc(' ', prog->f);
42 for (i=0; i < prog->barwidth; i++)
43 putc('-', prog->f);
44 for (i=0; i < prog->barwidth; i++)
45 putc('\b', prog->f);
46 fflush(prog->f);
51 void ext2fs_progress_update(ext2_sim_progmeter prog, __u32 current)
55 level = prog->barwidth * current / prog->maxdone;
56 old_level = prog->barwidth * prog->current / prog->maxdone;
57 prog->current = current;
65 putc('X', prog->f);
69 putc('\b', prog->f);
71 putc('-', prog->f);
73 putc('\b', prog->f);
75 fflush(prog->f);
83 ext2_sim_progmeter prog;
86 retval = ext2fs_get_mem(sizeof(struct ext2_sim_progress), &prog);
89 memset(prog, 0, sizeof(struct ext2_sim_progress));
91 retval = ext2fs_get_mem(strlen(label)+1, &prog->label);
93 free(prog);
96 strcpy(prog->label, label);
97 prog->labelwidth = labelwidth;
98 prog->barwidth = barwidth;
99 prog->flags = flags;
100 prog->maxdone = maxdone;
101 prog->current = 0;
102 prog->shown = 0;
103 prog->f = stdout;
105 *ret_prog = prog;
107 return ext2fs_progress_display(prog);
110 void ext2fs_progress_close(ext2_sim_progmeter prog)
113 if (prog->label)
114 ext2fs_free_mem(&prog->label);
115 ext2fs_free_mem(&prog);