static void ath_print_verbose(struct statfoo *sf, FILE *fd) { struct athstatfoo_p *wf = (struct athstatfoo_p *) sf; #define isphyerr(i) (S_PHY_MIN <= i && i <= S_PHY_MAX) const struct fmt *f; char s[32]; const char *indent; int i, width; width = 0; for (i = 0; i < S_LAST; i++) { f = &sf->stats[i]; if (!isphyerr(i) && f->width > width) width = f->width; } for (i = 0; i < S_LAST; i++) { if (ath_get_totstat(sf, i, s, sizeof(s)) && strcmp(s, "0")) { if (isphyerr(i)) indent = " "; else indent = ""; fprintf(fd, "%s%-*s %s\n", indent, width, s, athstats[i].desc); } } fprintf(fd, "Antenna profile:\n"); for (i = 0; i < 8; i++) if (wf->total.ath.ast_ant_rx[i] || wf->total.ath.ast_ant_tx[i]) fprintf(fd, "[%u] tx %8u rx %8u\n", i, wf->total.ath.ast_ant_tx[i], wf->total.ath.ast_ant_rx[i]); #undef isphyerr }
static void ath_print_verbose(struct statfoo *sf, FILE *fd) { struct athaggrstatfoo_p *wf = (struct athaggrstatfoo_p *) sf; const struct fmt *f; char s[32]; const char *indent; int i, width; width = 0; for (i = 0; i < S_LAST; i++) { f = &sf->stats[i]; if (f->width > width) width = f->width; } for (i = 0; i < S_LAST; i++) { if (ath_get_totstat(sf, i, s, sizeof(s)) && strcmp(s, "0")) { indent = ""; fprintf(fd, "%s%-*s %s\n", indent, width, s, athaggrstats[i].desc); } } fprintf(fd, "\nAggregate size profile:\n\n"); for (i = 0; i < 64; i++) { fprintf(fd, "%2d: %12u%s", i, wf->total.aggr_pkts[i], (i % 4 == 3) ? "\n" : " "); } fprintf(fd, "\n"); }