Hello,
I am porting the iostat from FreeBSD.
I have problem with the function devstat_compute_statistics()
Here is how its used in FreeBSD ans I tried the compute_stats() in dragonfly
but still need this equivalent to be correct
So, please give me the correct usage of compute_stats similar to
devstat_compute_statistics in the FreeBSD, here it is:

        if (devstat_compute_statistics
<http://fxr.googlebit.com/ident?i=devstat_compute_statistics>(&cur
<http://fxr.googlebit.com/ident?i=cur>.dinfo
<http://fxr.googlebit.com/ident?i=dinfo>->devices
<http://fxr.googlebit.com/ident?i=devices>[di
<http://fxr.googlebit.com/ident?i=di>],
             &last <http://fxr.googlebit.com/ident?i=last>.dinfo
<http://fxr.googlebit.com/ident?i=dinfo>->devices
<http://fxr.googlebit.com/ident?i=devices>[di
<http://fxr.googlebit.com/ident?i=di>], busy_seconds,
             DSM_KB_PER_TRANSFER, &kb_per_transfer,
             DSM_TRANSFERS_PER_SECOND, &transfers_per_second,
             DSM_MB_PER_SECOND, &mb_per_second, DSM_NONE) != 0)
                 errx <http://fxr.googlebit.com/ident?i=errx>(1,
*"%s"*, devstat_errbuf
<http://fxr.googlebit.com/ident?i=devstat_errbuf>);


Also, is it OK if we call getnumdevs() without any arguments (its
similar to freebsd devstat_getdevs()).

The FreeBSD uses:

switch (devstat_getdevs
<http://fxr.googlebit.com/ident?i=devstat_getdevs>(NULL
<http://fxr.googlebit.com/ident?i=NULL>, &cur
<http://fxr.googlebit.com/ident?i=cur>)) {
         case -1:
                errx <http://fxr.googlebit.com/ident?i=errx>(1,
*"%s"*, devstat_errbuf
<http://fxr.googlebit.com/ident?i=devstat_errbuf>);
                 break;
         case 1:
                 cmdiostat
<http://fxr.googlebit.com/ident?i=cmdiostat>(*"refresh"*, NULL
<http://fxr.googlebit.com/ident?i=NULL>);
                 break;
         default:
                 break;
 }


I am still trying to remove some warnings and error. Will mail you if
need more help.


pratyush.kshirsagar (@ gmail.com)

Reply via email to