static void dump(J2kDecoderContext *s, FILE *fd) { int tileno, compno, reslevelno, bandno, precno; fprintf(fd, "XSiz = %d, YSiz = %d, tile_width = %d, tile_height = %d\n" "numXtiles = %d, numYtiles = %d, ncomponents = %d\n" "tiles:\n", s->width, s->height, s->tile_width, s->tile_height, s->numXtiles, s->numYtiles, s->ncomponents); for (tileno = 0; tileno < s->numXtiles * s->numYtiles; tileno++){ J2kTile *tile = s->tile + tileno; nspaces(fd, 2); fprintf(fd, "tile %d:\n", tileno); for(compno = 0; compno < s->ncomponents; compno++){ J2kComponent *comp = tile->comp + compno; nspaces(fd, 4); fprintf(fd, "component %d:\n", compno); nspaces(fd, 4); fprintf(fd, "x0 = %d, x1 = %d, y0 = %d, y1 = %d\n", comp->x0, comp->x1, comp->y0, comp->y1); for(reslevelno = 0; reslevelno < codsty->nreslevels; reslevelno++){ J2kResLevel *reslevel = comp->reslevel + reslevelno; nspaces(fd, 6); fprintf(fd, "reslevel %d:\n", reslevelno); nspaces(fd, 6); fprintf(fd, "x0 = %d, x1 = %d, y0 = %d, y1 = %d, nbands = %d\n", reslevel->x0, reslevel->x1, reslevel->y0, reslevel->y1, reslevel->nbands); for(bandno = 0; bandno < reslevel->nbands; bandno++){ J2kBand *band = reslevel->band + bandno; nspaces(fd, 8); fprintf(fd, "band %d:\n", bandno); nspaces(fd, 8); fprintf(fd, "x0 = %d, x1 = %d, y0 = %d, y1 = %d," "codeblock_width = %d, codeblock_height = %d cblknx = %d cblkny = %d\n", band->x0, band->x1, band->y0, band->y1, band->codeblock_width, band->codeblock_height, band->cblknx, band->cblkny); for (precno = 0; precno < reslevel->num_precincts_x * reslevel->num_precincts_y; precno++){ J2kPrec *prec = band->prec + precno; nspaces(fd, 10); fprintf(fd, "prec %d:\n", precno); nspaces(fd, 10); fprintf(fd, "xi0 = %d, xi1 = %d, yi0 = %d, yi1 = %d\n", prec->xi0, prec->xi1, prec->yi0, prec->yi1); } } } } } }
void Cache :: dump_stats(const char *description, std::ofstream *stats_file, size_t indentation) { if (stats_file==NULL) { stats_file = get_stats_file(); } if (description!=NULL) { *stats_file << nspaces(indentation).c_str() << "# " << description << "\n"; } //*stats_file << this->_name.c_str() << " statistics dump.\n"; this->stats.dump(*stats_file, this->_name.c_str(), indentation); childvec_t :: iterator citer; for (citer=_children.begin(); citer!=_children.end(); citer++) { (*citer)->dump_stats(NULL, stats_file, indentation+4); } }
/*ARGSUSED*/ void print_partition(struct partition_info *pinfo, int partnum, int want_header) { int i; blkaddr_t nblks; int cyl1; int cyl2; float scaled; int maxcyl2; int ncyl2_digits; char *s; blkaddr_t maxnblks = 0; blkaddr_t len; /* * To align things nicely, we need to know the maximum * width of the number of cylinders field. */ maxcyl2 = 0; for (i = 0; i < NDKMAP; i++) { nblks = (uint_t)pinfo->pinfo_map[i].dkl_nblk; cyl1 = pinfo->pinfo_map[i].dkl_cylno; cyl2 = cyl1 + (nblks / spc()) - 1; if (nblks > 0) { maxcyl2 = max(cyl2, maxcyl2); maxnblks = max(nblks, maxnblks); } } /* * Get the number of digits required */ ncyl2_digits = ndigits(maxcyl2); /* * Print the header, if necessary */ if (want_header) { fmt_print("Part "); fmt_print("Tag Flag "); fmt_print("Cylinders"); nspaces(ncyl2_digits); fmt_print(" Size Blocks\n"); } /* * Print the partition information */ nblks = pinfo->pinfo_map[partnum].dkl_nblk; cyl1 = pinfo->pinfo_map[partnum].dkl_cylno; cyl2 = cyl1 + (nblks / spc()) - 1; fmt_print(" %x ", partnum); /* * Print the partition tag. If invalid, print - */ s = find_string(ptag_choices, (int)pinfo->vtoc.v_part[partnum].p_tag); if (s == (char *)NULL) s = "-"; nspaces(10 - (int)strlen(s)); fmt_print("%s", s); /* * Print the partition flag. If invalid print - */ s = find_string(pflag_choices, (int)pinfo->vtoc.v_part[partnum].p_flag); if (s == (char *)NULL) s = "-"; nspaces(6 - (int)strlen(s)); fmt_print("%s", s); nspaces(2); if (nblks == 0) { fmt_print("%6d ", cyl1); nspaces(ncyl2_digits); fmt_print(" 0 "); } else { fmt_print("%6d - ", cyl1); nspaces(ncyl2_digits - ndigits(cyl2)); fmt_print("%d ", cyl2); scaled = bn2mb(nblks); if (scaled > (float)1024.0 * 1024.0) { fmt_print("%8.2fTB ", scaled/((float)1024.0 * 1024.0)); } else if (scaled > (float)1024.0) { fmt_print("%8.2fGB ", scaled/(float)1024.0); } else { fmt_print("%8.2fMB ", scaled); } } fmt_print("("); pr_dblock(fmt_print, nblks); fmt_print(")"); nspaces(ndigits(maxnblks/spc()) - ndigits(nblks/spc())); /* * Allocates size of the printf format string. * ndigits(ndigits(maxblks)) gives the byte size of * the printf width field for maxnblks. */ len = strlen(" %") + ndigits(ndigits(maxnblks)) + strlen("d\n") + 1; s = zalloc(len); (void) snprintf(s, len, "%s%u%s", " %", ndigits(maxnblks), "u\n"); fmt_print(s, nblks); (void) free(s); }
/*ARGSUSED*/ void print_efi_partition(struct dk_gpt *map, int partnum, int want_header) { int ncyl2_digits = 0; float scaled; char *s; uint64_t secsize; ncyl2_digits = ndigits(map->efi_last_u_lba); if (want_header) { fmt_print("Part "); fmt_print("Tag Flag "); fmt_print("First Sector"); nspaces(ncyl2_digits); fmt_print("Size"); nspaces(ncyl2_digits); fmt_print("Last Sector\n"); } fmt_print(" %d ", partnum); s = find_string(ptag_choices, (int)map->efi_parts[partnum].p_tag); if (s == (char *)NULL) s = "-"; nspaces(10 - (int)strlen(s)); fmt_print("%s", s); s = find_string(pflag_choices, (int)map->efi_parts[partnum].p_flag); if (s == (char *)NULL) s = "-"; nspaces(6 - (int)strlen(s)); fmt_print("%s", s); nspaces(2); secsize = map->efi_parts[partnum].p_size; if (secsize == 0) { fmt_print("%16llu", map->efi_parts[partnum].p_start); nspaces(ncyl2_digits); fmt_print(" 0 "); } else { fmt_print("%16llu", map->efi_parts[partnum].p_start); scaled = bn2mb(secsize); nspaces(ncyl2_digits - 5); if (scaled >= (float)1024.0 * 1024) { fmt_print("%8.2fTB", scaled/((float)1024.0 * 1024)); } else if (scaled >= (float)1024.0) { fmt_print("%8.2fGB", scaled/(float)1024.0); } else { fmt_print("%8.2fMB", scaled); } } nspaces(ncyl2_digits); if ((map->efi_parts[partnum].p_start+secsize - 1) == UINT_MAX64) { fmt_print(" 0 \n"); } else { fmt_print(" %llu \n", map->efi_parts[partnum].p_start+secsize - 1); } }