summaryrefslogtreecommitdiff
path: root/sysutils/xperfmon3/files/patch-ac
diff options
context:
space:
mode:
authorJoerg Wunsch <joerg@FreeBSD.org>1997-03-15 10:36:08 +0000
committerJoerg Wunsch <joerg@FreeBSD.org>1997-03-15 10:36:08 +0000
commitaadef3786f79d6e3a2fed7a8b234342bbc259b1c (patch)
tree06254cc1b260c7f65767e9a96da84a687b34cda8 /sysutils/xperfmon3/files/patch-ac
parentUpdate (diff)
Update of xperfmon++ from Lars. The previous port didn't work with
2.2 (says Lars). I have now also moved freebsd_system.c out into a files subdirectory, it used to be created in its entirety by patch-aa before which makes maintenance fairly uncomfortable. I have now verified that it builds and works with FreeBSD 2.1.x (freefall -- it is really funny to watch it there, the disk transfers and interrupts remain in the red zone all the time ;-), 3.0-current (thud), and 2.2. Submitted by: Lars_Koeller@odie.physik2.Uni-Rostock.DE OKed by: asami
Diffstat (limited to 'sysutils/xperfmon3/files/patch-ac')
-rw-r--r--sysutils/xperfmon3/files/patch-ac62
1 files changed, 0 insertions, 62 deletions
diff --git a/sysutils/xperfmon3/files/patch-ac b/sysutils/xperfmon3/files/patch-ac
deleted file mode 100644
index c2cc4b6f7632..000000000000
--- a/sysutils/xperfmon3/files/patch-ac
+++ /dev/null
@@ -1,62 +0,0 @@
---- freebsd_system.c.orig Sun Jan 19 18:43:41 1997
-+++ freebsd_system.c Sun Jan 19 18:42:59 1997
-@@ -75,6 +75,7 @@
- #include <sys/sysctl.h>
- #include <sys/dkstat.h>
- #include <sys/buf.h>
-+#include <sys/time.h>
- #include <sys/vmmeter.h>
- #include <vm/vm.h>
- #include <net/if.h>
-@@ -310,7 +311,8 @@
- Collect the Network-Traffic
- */
-
-- if (nl[N_IFNET].n_value != 0) {
-+ if ((ifnetaddr = nl[N_IFNET].n_value) != 0) {
-+#if __FreeBSD_version < 300000
- struct ifnet ifnet;
- kread(N_IFNET, &ifnetaddr, sizeof(ifnetaddr));
- old_packets = packets;
-@@ -322,6 +324,41 @@
- packets.collisions += ifnet.if_collisions;
- ifnetaddr = (u_long) ifnet.if_next;
- }
-+#else /* 3.0-* */
-+ /* Stolen from netstat/if.c */
-+ struct ifnet ifnet;
-+ struct ifnethead ifnethead;
-+ u_long ifaddraddr, ifnetfound;
-+ struct ifaddr ifa;
-+
-+ if(kvm_read(kd, ifnetaddr, (char *)&ifnethead, sizeof ifnethead) == -1)
-+ return;
-+ ifnetaddr = (u_long)ifnethead.tqh_first;
-+ if(kvm_read(kd, ifnetaddr, (char *)&ifnet, sizeof ifnet) == -1)
-+ return;
-+
-+ old_packets = packets;
-+ packets.input = packets.output = packets.collisions = 0;
-+ ifaddraddr = 0;
-+ while (ifnetaddr || ifaddraddr) {
-+ if (ifaddraddr == 0) {
-+ ifnetfound = ifnetaddr;
-+ if(kvm_read(kd, ifnetaddr, (char *)&ifnet, sizeof ifnet) == -1)
-+ return;
-+ ifnetaddr = (u_long)ifnet.if_link.tqe_next;
-+ ifaddraddr = (u_long)ifnet.if_addrhead.tqh_first;
-+ }
-+ if (kvm_read(kd, ifaddraddr, (char *)&ifa, sizeof ifa) == -1) {
-+ ifaddraddr = 0;
-+ continue;
-+ }
-+ ifaddraddr = (u_long)ifa.ifa_link.tqe_next;
-+
-+ packets.input += ifnet.if_ipackets;
-+ packets.output += ifnet.if_opackets;
-+ packets.collisions += ifnet.if_collisions;
-+ }
-+#endif
- }
-
- /*