[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/3.5/kdeutils
From:       Hasso Tepper <hasso () kde ! org>
Date:       2007-05-27 18:46:49
Message-ID: 1180291609.519612.13148.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 668809 by hasso:

Make ksim and superkaramba compile and work in DragonFly BSD. All patches
by Joerg Sonnenberger via pkgsrc.


 M  +19 -2     ksim/monitors/cpu/ksimcpu.cpp  
 M  +8 -2      ksim/monitors/disk/ksimdisk.cpp  
 M  +7 -5      ksim/monitors/filesystem/filesystemstats.cpp  
 M  +15 -13    superkaramba/src/memsensor.cpp  
 M  +5 -6      superkaramba/src/memsensor.h  
 M  +1 -1      superkaramba/src/misc_python.cpp  


--- branches/KDE/3.5/kdeutils/ksim/monitors/cpu/ksimcpu.cpp #668808:668809
@@ -44,7 +44,13 @@
 
 #ifdef Q_OS_BSD4
 #include <sys/param.h>
-#ifdef Q_OS_FREEBSD
+#if defined(__DragonFly__)
+#include <kinfo.h>
+#include <err.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+
+#elif defined Q_OS_FREEBSD
 #if __FreeBSD_version < 500101
 #include <sys/dkstat.h>
 #else
@@ -238,7 +244,15 @@
   fseek(m_procFile, 0L, SEEK_SET);
 #endif
 
-#ifdef Q_OS_FREEBSD
+#ifdef __DragonFly__
+  struct kinfo_cputime cp_time;
+  if (kinfo_get_sched_cputime(&cp_time))
+    err(1, "kinfo_get_sched_cputime");
+  cpu.user = cp_time.cp_user;
+  cpu.nice = cp_time.cp_nice;
+  cpu.sys = cp_time.cp_sys;
+  cpu.idle = cp_time.cp_idle;
+#elif defined(Q_OS_FREEBSD)
 #warning "add support for SMP on FreeBSD"
   Q_UNUSED(cpuNumber);
   static int name2oid[2] = { 0, 3 };
@@ -268,6 +282,9 @@
   cpu.idle = cpuTime[CP_IDLE];
 #endif
 
+#if defined(Q_OS_NETBSD)
+#define KERN_CPTIME KERN_CP_TIME
+#endif
 #if defined(Q_OS_OPENBSD) || defined(Q_OS_NETBSD)
 //#warning "add support for SMP on OpenBSD and NetBSD"
   int name2oid[2] = { CTL_KERN, KERN_CPTIME };
--- branches/KDE/3.5/kdeutils/ksim/monitors/disk/ksimdisk.cpp #668808:668809
@@ -41,8 +41,14 @@
 #include <progress.h>
 #include <themetypes.h>
 
-#ifdef Q_OS_FREEBSD
+#if defined(__DragonFly__)
+#include <sys/time.h>
 #include <sys/param.h>
+#include <sys/resource.h>
+#include <devstat.h>
+#include <stdlib.h>
+#elif defined(Q_OS_FREEBSD)
+#include <sys/param.h>
 #if __FreeBSD_version < 500101
 #include <sys/dkstat.h>
 #else
@@ -343,7 +349,7 @@
 #endif
 
 #ifdef Q_OS_FREEBSD
-#if __FreeBSD_version < 500107
+#if defined(__DragonFly__) || __FreeBSD_version < 500107
 #define	devstat_getdevs(fd, stats)	getdevs(stats)
 #define	devstat_selectdevs		selectdevs
 #define	bytes_read(dev)			(dev).bytes_read
--- branches/KDE/3.5/kdeutils/ksim/monitors/filesystem/filesystemstats.cpp #668808:668809
@@ -30,7 +30,7 @@
 #include <sys/types.h>
 #include <sys/param.h>
 
-#ifdef HAVE_SYS_STATVFS_H
+#if defined(HAVE_SYS_STATVFS_H) && !defined(__DragonFly__)
 #include <sys/statvfs.h>
 #elif defined( HAVE_SYS_STATFS_H )
 #include <sys/statfs.h>
@@ -59,10 +59,12 @@
 #include <stdio.h>
 #include <unistd.h>
 
-#ifdef HAVE_STATVFS
+#if defined(HAVE_STATVFS) && !defined(__DragonFly__)
 typedef struct statvfs ksim_statfs;
+#define ksim_getfsstat getvfsstat
 #elif defined( HAVE_STATFS ) || defined( Q_OS_FREEBSD )
 typedef struct statfs ksim_statfs;
+#define ksim_getfsstat getfsstat
 #else
 typedef struct // fall back for (possibly) non-supported systems
 {
@@ -73,7 +75,7 @@
 
 int fsystemStats( const char * file, ksim_statfs & stats )
 {
-#ifdef HAVE_STATVFS
+#if defined(HAVE_STATVFS) && !defined(__DragonFly__)
   return statvfs( file, &stats );
 #elif defined( HAVE_STATFS ) || defined( Q_OS_FREEBSD )
   return statfs( file, &stats );
@@ -162,9 +164,9 @@
 #endif
 
 #ifdef USE_FSSTAT
-  struct statfs sfs[32];
+  ksim_statfs sfs[32];
   int fs_count;
-  if ( ( fs_count = getfsstat( sfs, sizeof( sfs ), 0 ) ) != -1 )
+  if ( ( fs_count = ksim_getfsstat( sfs, sizeof( sfs ), 0 ) ) != -1 )
   {
     for ( int i = 0; i < fs_count; i++ )
     {
--- branches/KDE/3.5/kdeutils/superkaramba/src/memsensor.cpp #668808:668809
@@ -32,6 +32,8 @@
 #include <sys/swap.h>
 #endif
 
+#include <kprocio.h>
+
 #if defined Q_OS_FREEBSD || defined(Q_OS_NETBSD)
 /* define pagetok in terms of pageshift */
 #define pagetok(size) ((size) << pageshift)
@@ -51,7 +53,9 @@
 
     /* we only need the amount of log(2)1024 for our conversion */
     pageshift -= 10;
-# if (defined(Q_OS_FREEBSD) && __FreeBSD_version < 500018)
+# if defined(Q_OS_FREEBSD) && defined(__FreeBSD_version) && __FreeBSD_version >= 500018
+    kd = kvm_open("/dev/null", "/dev/null", "/dev/null", O_RDONLY, "kvm_open");
+# elif defined Q_OS_FREEBSD
     connect(&ksp, SIGNAL(receivedStdout(KProcess *, char *, int )),
             this,SLOT(receivedStdout(KProcess *, char *, int )));
     connect(&ksp, SIGNAL(processExited(KProcess *)),
@@ -62,8 +66,6 @@
     MaxSet = false;
 
     readValues();
-# elif defined Q_OS_FREEBSD
-    kd = kvm_open("/dev/null", "/dev/null", "/dev/null", O_RDONLY, "kvm_open");
 # endif
 #else
     readValues();
@@ -180,9 +182,7 @@
 int MemSensor::getSwapTotal()
 {
 #ifdef Q_OS_FREEBSD
-# if __FreeBSD_version < 500018
-    return(swapTotal);
-# else
+# if defined(__FreeBSD_version) && __FreeBSD_version >= 500018
     int n = -1;
     int pagesize = getpagesize();
     int retavail = 0;
@@ -196,6 +196,8 @@
     retavail = swapinfo.ksw_total * pagesize / 1024;
 
     return(retavail);
+#else
+    return(swapTotal);
 # endif
 #elif defined(Q_OS_NETBSD)
     struct uvmexp_sysctl uvmexp;
@@ -222,9 +224,7 @@
 int MemSensor::getSwapFree()
 {
 #ifdef Q_OS_FREEBSD
-# if __FreeBSD_version < 500018
-    return(swapTotal - swapUsed);
-# else
+# if defined(__FreeBSD_version) && __FreeBSD_version >= 500018
     int n = -1;
     int pagesize = getpagesize();
     int retfree = 0;
@@ -237,6 +237,8 @@
     retfree = (swapinfo.ksw_total - swapinfo.ksw_used) * pagesize / 1024;
 
     return(retfree);
+# else
+    return(swapTotal - swapUsed);
 # endif
 #elif defined(Q_OS_NETBSD)
     struct uvmexp_sysctl uvmexp;
@@ -267,7 +269,7 @@
 void MemSensor::readValues()
 {
 #if defined Q_OS_FREEBSD || defined(Q_OS_NETBSD)
-# if (defined(Q_OS_FREEBSD) && __FreeBSD_version < 500018)
+# if defined(Q_OS_FREEBSD) && !(defined(__FreeBSD_version) && __FreeBSD_version >= 500018)
     ksp.clearArguments();
     ksp << "swapinfo";
     ksp.start( KProcess::NotifyOnExit,KProcIO::Stdout);
@@ -291,7 +293,7 @@
     SensorParams *sp;
     Meter *meter;
     QObjectListIt it( *objList );
-#if (defined(Q_OS_FREEBSD) && __FreeBSD_version < 500018)
+#if defined(Q_OS_FREEBSD) && !(defined(__FreeBSD_version) && __FreeBSD_version >= 500018)
     bool set = false;
 #endif
     int totalMem = getMemTotal();
@@ -303,7 +305,7 @@
     while (it != 0)
     {
         sp = (SensorParams*)(*it);
-#if (defined(Q_OS_FREEBSD) && __FreeBSD_version < 500018)
+#if defined(Q_OS_FREEBSD) && !(defined(__FreeBSD_version) && __FreeBSD_version >= 500018)
         if ( (!MaxSet) && (totalSwap > 0) ) {
            setMaxValue(sp);
            bool set = true;
@@ -331,7 +333,7 @@
         meter->setValue(format);
         ++it;
     }
-#if (defined(Q_OS_FREEBSD) && __FreeBSD_version < 500018)
+#if defined(Q_OS_FREEBSD) && !(defined(__FreeBSD_version) && __FreeBSD_version >= 500018)
     if (set)
         MaxSet = true;
 #endif
--- branches/KDE/3.5/kdeutils/superkaramba/src/memsensor.h #668808:668809
@@ -44,18 +44,17 @@
 private:
   QString meminfo;
   void readValues();
-#if defined __FreeBSD__ || defined(Q_OS_NETBSD)
+#if defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD)
   int pageshift;           /* log base 2 of the pagesize */
   QString sensorResult;
   int swapTotal;
   int swapUsed;
-# if (defined(__FreeBSD__) && __FreeBSD_version < 500018)
-  KShellProcess ksp;
-  bool MaxSet;
-
-# elif defined __FreeBSD__
+# if defined(Q_OS_FREEBSD) && defined(__FreeBSD_version) && __FreeBSD_version >= 500018
   kvm_t *kd;
   kvm_swap swapinfo;
+# elif defined(Q_OS_FREEBSD)
+  KShellProcess ksp;
+  bool MaxSet;
 # endif
 #endif
 
--- branches/KDE/3.5/kdeutils/superkaramba/src/misc_python.cpp #668808:668809
@@ -653,7 +653,7 @@
 #include <sys/ioctl.h>
 #include <net/if.h>
 #include <arpa/inet.h>
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__DragonFly__)
 #include <netinet/in.h>
 #endif
 #if defined(Q_OS_SOLARIS)
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic