sysctl kern.random prints out a series of unintelligble numbers. add some labels for more pretty.
also stop printing unused values. i don't need to verify that the pad bytes are still zero. for that matter, we don't even need pad bytes. Index: sys/dev/rndvar.h =================================================================== RCS file: /cvs/src/sys/dev/rndvar.h,v retrieving revision 1.29 diff -u -p -r1.29 rndvar.h --- sys/dev/rndvar.h 8 Jan 2011 19:45:08 -0000 1.29 +++ sys/dev/rndvar.h 26 Mar 2013 05:56:40 -0000 @@ -44,14 +44,9 @@ struct rndstats { quad_t rnd_total; /* total bits of entropy generated */ quad_t rnd_used; /* strong data bits read so far */ - quad_t rnd_reads; /* strong read calls -- unused */ quad_t arc4_reads; /* aRC4 data bytes read so far */ quad_t arc4_nstirs; /* arc4 pool stirs */ - quad_t arc4_stirs; /* arc4 pool stirs (bits used) -- unused */ - quad_t rnd_pad[5]; - - quad_t rnd_waits; /* sleeps for data -- unused */ quad_t rnd_enqs; /* enqueue calls */ quad_t rnd_deqs; /* dequeue calls */ quad_t rnd_drops; /* queue-full drops */ Index: sbin/sysctl/sysctl.c =================================================================== RCS file: /cvs/src/sbin/sysctl/sysctl.c,v retrieving revision 1.184 diff -u -p -r1.184 sysctl.c --- sbin/sysctl/sysctl.c 20 Sep 2012 20:11:58 -0000 1.184 +++ sbin/sysctl/sysctl.c 26 Mar 2013 06:05:45 -0000 @@ -869,33 +869,27 @@ parse(char *string, int flags) if (!nflag) (void)printf("%s%s", string, equ); - (void)printf( - "%llu %llu %llu %llu %llu %llu %llu %llu %llu %llu %llu %llu %llu %llu %llu %llu", - (unsigned long long)rndstats->rnd_total, - (unsigned long long)rndstats->rnd_used, - (unsigned long long)rndstats->rnd_reads, - (unsigned long long)rndstats->arc4_reads, - (unsigned long long)rndstats->arc4_nstirs, - (unsigned long long)rndstats->arc4_stirs, - (unsigned long long)rndstats->rnd_pad[0], - (unsigned long long)rndstats->rnd_pad[1], - (unsigned long long)rndstats->rnd_pad[2], - (unsigned long long)rndstats->rnd_pad[3], - (unsigned long long)rndstats->rnd_pad[4], - (unsigned long long)rndstats->rnd_waits, - (unsigned long long)rndstats->rnd_enqs, - (unsigned long long)rndstats->rnd_deqs, - (unsigned long long)rndstats->rnd_drops, - (unsigned long long)rndstats->rnd_drople); - for (i = 0; i < sizeof(rndstats->rnd_ed)/sizeof(rndstats->rnd_ed[0]); + printf("tot: %llu used: %llu read: %llu stirs: %llu" + " enqs: %llu deqs: %llu drops: %llu ledrops: %llu", + rndstats->rnd_total, rndstats->rnd_used, + rndstats->arc4_reads, rndstats->arc4_nstirs, + rndstats->rnd_enqs, rndstats->rnd_deqs, + rndstats->rnd_drops, rndstats->rnd_drople); + printf(" ed:"); + for (i = 0; + i < sizeof(rndstats->rnd_ed)/sizeof(rndstats->rnd_ed[0]); i++) - (void)printf(" %llu", (unsigned long long)rndstats->rnd_ed[i]); - for (i = 0; i < sizeof(rndstats->rnd_sc)/sizeof(rndstats->rnd_sc[0]); + printf(" %llu", (unsigned long long)rndstats->rnd_ed[i]); + printf(" sc:"); + for (i = 0; + i < sizeof(rndstats->rnd_sc)/sizeof(rndstats->rnd_sc[0]); i++) - (void)printf(" %llu", (unsigned long long)rndstats->rnd_sc[i]); - for (i = 0; i < sizeof(rndstats->rnd_sb)/sizeof(rndstats->rnd_sb[0]); + printf(" %llu", (unsigned long long)rndstats->rnd_sc[i]); + printf(" sb:"); + for (i = 0; + i < sizeof(rndstats->rnd_sb)/sizeof(rndstats->rnd_sb[0]); i++) - (void)printf(" %llu", (unsigned long long)rndstats->rnd_sb[i]); + printf(" %llu", (unsigned long long)rndstats->rnd_sb[i]); printf("\n"); return; }