From owner-ports-jp@jp.FreeBSD.org Wed May  7 22:36:19 2003
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id h47DaJQ47305;
	Wed, 7 May 2003 22:36:19 +0900 (JST)
	(envelope-from owner-ports-jp@jp.FreeBSD.org)
Received: from ongs.co.jp (ns.ongs.co.jp [202.216.232.58])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with SMTP/inet id h47DaIY47275
	for <ports-jp@jp.FreeBSD.org>; Wed, 7 May 2003 22:36:18 +0900 (JST)
	(envelope-from daichi@jp.freebsd.org)
Received: (qmail 32192 invoked from network); 7 May 2003 13:34:07 -0000
Received: from unknown (HELO parancell.ongs.co.jp) (202.216.232.62)
  by ns.ongs.co.jp with SMTP; 7 May 2003 13:34:07 -0000
From: daichi <daichi@jp.FreeBSD.org>
To: ports-jp@jp.FreeBSD.org
Message-Id: <20030507223641.08ace793.daichi@jp.freebsd.org>
Organization: FreeBSD Project(Japan)
X-Mailer: Sylpheed version 0.8.11 (GTK+ 1.2.10; i386-portbld-freebsd5.0)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
Reply-To: ports-jp@jp.FreeBSD.org
Precedence: list
Date: Wed, 7 May 2003 22:36:41 +0900
X-Sequence: ports-jp 13701
Subject: [ports-jp 13701] /usr/ports/sysutil/wmmon/ on FreeBSD 5.0-current
Sender: owner-ports-jp@jp.FreeBSD.org
X-Originator: daichi@jp.FreeBSD.org
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+030405

$BBgCO$G$9!#(B

-current$B$G(Bwmmon$B$r%S%k%I$7$F<B9T$G$-$kJ}$$$i$C$7$c$$$^$9$+!)(B  $B$3$A$i$G$O(B
5.0-CURRENT-20030329-JPSNAP$B$KJQ$($F$+$i(Bwmmon$B$,F0$+$J$/$J$C$F$7$^$$$^$7$?!#(B

$B860x$O%G%P%$%9$N>pJs$r<hF@$9$k4X?tL>$H4^$^$l$F$$$k%X%C%@%U%!%$%k$,JQ$C$?(B
$B$3$H$K$"$j$^$9!#(B
$B$H$j$"$($:(B5$B$H(B4$B$GN>J}$H$b%3%s%Q%$%k$7$F<B9T$G$-$k$h$&$K=$@5$r2C$($F%Q%C%A(B
$B$r(B kkennawa@physics.adelaide.edu.au, sk-ports@vegamuse.org $B$NN>;a$KAw$C$?(B
$B$N$G$9$,H?1~$,$J$/!"(B2$B=54V$[$I$?$A$^$7$?!#(B

$B$3$N%Q%C%A$GLdBj$J$1$l$P(Bsend-pr$B$7$F$+$i=$@5$r(Bcommit$B$7$h$&$H9M$($F$^$9!#(B
$B0JA0$N4X?t$,I|3h$7$F$$$?$i<h$j$d$a$h$&$H;W$$$^$9!#(B
5.1$B$,=P$kA0$K=$@5$7$F$7$^$$$?$$$s$G$9$1$I$b!"$I$&$J$s$G$7$g$&!"0JA0$N(B
$B4X?t$C$F$^$?I|3h$7$?$j$7$J$$$+$J!#(B

--- wmmon.app/wmmon/wmmon.c.orig	Thu Apr 24 14:25:22 2003
+++ wmmon.app/wmmon/wmmon.c	Thu Apr 24 14:25:43 2003
@@ -93,7 +93,12 @@
 #include <limits.h>
 #include <osreldate.h>
 #include <sys/conf.h>
+#if __FreeBSD_version >= 500000
+#include <sys/resource.h>
+#include <sys/devicestat.h>
+#else
 #include <sys/dkstat.h>
+#endif
 #if __FreeBSD_version >= 300000
 #include <devstat.h>
 #endif
@@ -124,6 +129,14 @@
 
 #define WMMON_VERSION "1.0.b2"
 
+#if  __FreeBSD_version >= 500000
+#define checkversion()     devstat_checkversion(NULL)
+#define getnumdevs()       devstat_getnumdevs(NULL)
+#define getdevs(stats)     devstat_getdevs(NULL, stats)
+#define compute_etime      devstat_compute_etime
+#define selectdevs         devstat_selectdevs
+#endif
+
   /********************/
  /* Global Variables */
 /********************/
@@ -190,7 +203,7 @@
 
 void wmmon_routine(int, char **);
 
-void main(int argc, char *argv[]) {
+int main(int argc, char *argv[]) {
 
 	int		i;
 	
@@ -237,6 +250,8 @@
 	}
 
 	wmmon_routine(argc, argv);
+
+	return 0;
 }
 
 /*******************************************************************************\
@@ -986,7 +1001,9 @@
 			memcpy( &last, &cur, sizeof(cur) );
 			cur.dinfo = tmp;
 
+#if ! __FreeBSD_version >= 500000
 			last.busy_time = cur.busy_time;
+#endif
 		}
 
 		if( !gotdevs && ( getdevs( &cur ) >= 0 ) )
@@ -1041,7 +1058,9 @@
 						memcpy( &last, &cur, sizeof(cur) );
 						cur.dinfo = tmpinfo;
 
+#if ! __FreeBSD_version >= 500000
 						last.busy_time = cur.busy_time;
+#endif
 						break;
 					default:
 						break;
@@ -1068,7 +1087,16 @@
 					long double busy_seconds;
 					long double blocks_per_second, ms_per_transaction;
 
+#if  __FreeBSD_version >= 500000
+					int count = 0;
+
+					busy_seconds = 0;
+					for (; count < cur.dinfo->numdevs; count++) {
+					  busy_seconds += compute_etime( &cur.dinfo->devices[count].busy_time, &last.dinfo->devices[count].busy_time );
+					}
+#else
 					busy_seconds = compute_etime( cur.busy_time, last.busy_time );
+#endif
 
 					for( dn = 0; dn < ndevs; dn++ )
 					{

--
  Daichi GOTO, daichi@jp.FreeBSD.org
