summaryrefslogtreecommitdiff
path: root/sysutils/xfce4-diskperf-plugin/patches/patch-panel-plugin_devperf.c
diff options
context:
space:
mode:
authoryouri <youri@pkgsrc.org>2015-06-29 11:16:48 +0000
committeryouri <youri@pkgsrc.org>2015-06-29 11:16:48 +0000
commit3d2256d79d4170b8947718d25e96b15b964da87d (patch)
tree25fd6ae2dd654e3e4138a05304f061066362abba /sysutils/xfce4-diskperf-plugin/patches/patch-panel-plugin_devperf.c
parent57e9973b1fd664fd2904ef3f44a90c7ea0144566 (diff)
downloadpkgsrc-3d2256d79d4170b8947718d25e96b15b964da87d.tar.gz
Update to 2.5.5 (2015/3/3):
----------------- * Use the new GtkTooltip API * Fix a memory leak in the FreeBSD codepath (#11153) * Add support for FreeBSD (bug #10350) * New translations: th, ms, bg, oc, hr, en_AU, sr * Updated translations: ar, ast, bg, cs, de, es, fr, it, hr, hu. ko, nb, nl, ug, pl, sv, tr, zh_CN, zh_TW
Diffstat (limited to 'sysutils/xfce4-diskperf-plugin/patches/patch-panel-plugin_devperf.c')
-rw-r--r--sysutils/xfce4-diskperf-plugin/patches/patch-panel-plugin_devperf.c106
1 files changed, 6 insertions, 100 deletions
diff --git a/sysutils/xfce4-diskperf-plugin/patches/patch-panel-plugin_devperf.c b/sysutils/xfce4-diskperf-plugin/patches/patch-panel-plugin_devperf.c
index 420757ed6e8..edb5597e975 100644
--- a/sysutils/xfce4-diskperf-plugin/patches/patch-panel-plugin_devperf.c
+++ b/sysutils/xfce4-diskperf-plugin/patches/patch-panel-plugin_devperf.c
@@ -1,103 +1,9 @@
-$NetBSD: patch-panel-plugin_devperf.c,v 1.1 2015/04/21 08:56:40 jperkin Exp $
+$NetBSD: patch-panel-plugin_devperf.c,v 1.2 2015/06/29 11:16:48 youri Exp $
-Add FreeBSD support and fix NetBSD support.
---- panel-plugin/devperf.c.orig 2015-02-09 23:25:33.000000000 +0000
+Fix NetBSD support.
+--- panel-plugin/devperf.c.orig 2014-09-11 13:45:46.000000000 +0000
+++ panel-plugin/devperf.c
-@@ -225,6 +225,93 @@ int main ()
-
- /************************** Linux End ***************/
-
-+#elif defined(__FreeBSD__)
-+
-+#include <sys/disk.h>
-+#include <sys/param.h>
-+#include <sys/sysctl.h>
-+#include <sys/types.h>
-+#include <sys/errno.h>
-+#include <sys/resource.h>
-+#include <sys/time.h>
-+#include <devstat.h>
-+#include <fcntl.h>
-+#include <limits.h>
-+#include <string.h>
-+#include <syslog.h>
-+#include <stdarg.h>
-+
-+#define MAXNAMELEN 256
-+
-+struct statinfo stats;
-+struct devinfo dinfo;
-+
-+int DevPerfInit ()
-+{
-+ stats.dinfo = &dinfo;
-+
-+ return (0);
-+}
-+
-+int DevCheckStatAvailability(char const **strptr)
-+{
-+ return (0);
-+}
-+
-+int DevGetPerfData (const void *p_pvDevice, struct devperf_t *perf)
-+{
-+ struct timeval tv;
-+ struct timespec ts;
-+ struct devstat dev;
-+ kvm_t *kd = NULL;
-+ int i, found = 0;
-+ char *check_dev = (char *) p_pvDevice;
-+
-+ if(devstat_getdevs(kd, &stats) == -1) {
-+ syslog(0, "DISKPERF: getdevs fail");
-+ }
-+
-+ for(found = 0, i = 0; i < (stats.dinfo)->numdevs; i++) {
-+ char dev_name[MAXNAMELEN];
-+ dev = (stats.dinfo)->devices[i];
-+ snprintf(dev_name, MAXNAMELEN-1, "%s%d",
-+ dev.device_name, dev.unit_number);
-+ if ((check_dev != NULL) && (strcmp(check_dev, dev_name) != 0))
-+ continue;
-+ else {
-+ found = 1;
-+ break;
-+ }
-+
-+ }
-+
-+ if(check_dev != NULL && found) {
-+ perf->wbytes = dev.bytes[DEVSTAT_WRITE];
-+ perf->rbytes = dev.bytes[DEVSTAT_READ];
-+ gettimeofday (&tv, 0);
-+ perf->timestamp_ns = (uint64_t)1000ull * 1000ull * 1000ull *
-+ tv.tv_sec + 1000ull * tv.tv_usec;
-+ perf->qlen = dev.start_count - dev.end_count;
-+ // I'm not sure about rbusy and wbusy calculation
-+ bintime2timespec(&dev.busy_time, &ts);
-+ perf->rbusy_ns = (uint64_t) ts.tv_nsec;
-+ perf->wbusy_ns = perf->rbusy_ns;
-+ }
-+
-+ return (0);
-+}
-+
-+#if 0 /* Standalone test purpose */
-+int main ()
-+{
-+ struct devperf_t oPerf;
-+ DevGetPerfData ((void*)"ada0", &oPerf);
-+ printf ("%lu\t%lu\n", oPerf.rbytes, oPerf.wbytes);
-+ return (0);
-+}
-+#endif
-+
-+
-
- #elif defined(__NetBSD__)
- /**************************************************************/
-@@ -251,21 +338,39 @@ int DevGetPerfData (const void *p_pvDevi
+@@ -335,21 +335,39 @@ int DevGetPerfData (const void *p_pvDevi
const char *device = (const char *) p_pvDevice;
struct timeval tv;
size_t size, i, ndrives;
@@ -137,7 +43,7 @@ Add FreeBSD support and fix NetBSD support.
drive = drives[i];
break;
}
-@@ -279,13 +384,18 @@ int DevGetPerfData (const void *p_pvDevi
+@@ -363,13 +381,18 @@ int DevGetPerfData (const void *p_pvDevi
gettimeofday (&tv, 0);
perf->timestamp_ns = (uint64_t)1000ull * 1000ull * 1000ull *
tv.tv_sec + 1000ull * tv.tv_usec;
@@ -158,7 +64,7 @@ Add FreeBSD support and fix NetBSD support.
#endif
/*
-@@ -293,10 +403,18 @@ int DevGetPerfData (const void *p_pvDevi
+@@ -377,10 +400,18 @@ int DevGetPerfData (const void *p_pvDevi
* time separatly.
* -- Benedikt
*/