summaryrefslogtreecommitdiff
path: root/x11/kdebase/files
diff options
context:
space:
mode:
authortron <tron@pkgsrc.org>1999-07-15 13:54:30 +0000
committertron <tron@pkgsrc.org>1999-07-15 13:54:30 +0000
commitbb37b7e7809fd2463d38779fabb8c2f00a84496b (patch)
treee50ddde7a2c921ea3e7aa9c1633dde770e571454 /x11/kdebase/files
parent53410a1bacdc9c7558d79c3d81a175c427362b0e (diff)
downloadpkgsrc-bb37b7e7809fd2463d38779fabb8c2f00a84496b.tar.gz
Avoid CVS lossage:
The RCS Id in the patch which created "info_netbsd.cpp" got modified so that the patch was rejected because of checksum changes.
Diffstat (limited to 'x11/kdebase/files')
-rw-r--r--x11/kdebase/files/info_netbsd.cpp314
-rw-r--r--x11/kdebase/files/patch-sum3
2 files changed, 315 insertions, 2 deletions
diff --git a/x11/kdebase/files/info_netbsd.cpp b/x11/kdebase/files/info_netbsd.cpp
new file mode 100644
index 00000000000..7207f4dc14e
--- /dev/null
+++ b/x11/kdebase/files/info_netbsd.cpp
@@ -0,0 +1,314 @@
+/*
+ * $NetBSD: info_netbsd.cpp,v 1.1 1999/07/15 13:54:30 tron Exp $
+ *
+ * info_netbsd.cpp is part of the KDE program kcminfo. This displays
+ * various information about the NetBSD system it's running on.
+ *
+ * CPU info code has been imported from abs's processor.cpp implementation
+ * for KDE 1.0 with only minor formatting changes
+ * SCSI, IRQ, Devices, Audio and Partition Info was implemented by
+ * Jaromir Dolecek <dolecek@ics.muni.cz>
+ */
+
+#define INFO_CPU_AVAILABLE
+#define INFO_IRQ_AVAILABLE
+#define INFO_DMA_AVAILABLE
+#define INFO_PCI_AVAILABLE
+#define INFO_IOPORTS_AVAILABLE
+#define INFO_SOUND_AVAILABLE
+#define INFO_DEVICES_AVAILABLE
+#define INFO_SCSI_AVAILABLE
+#define INFO_PARTITIONS_AVAILABLE
+#define INFO_XSERVER_AVAILABLE
+
+
+/*
+ * all following functions should return TRUE, when the Information
+ * was filled into the lBox-Widget. Returning FALSE indicates that
+ * information was not available.
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+
+#include <qfile.h>
+#include <qfontmetrics.h>
+
+/* stdio.h has NULL, but also a lot of extra cruft */
+#ifndef NULL
+#define NULL 0L
+#endif
+
+/* Again avoid the cruft in stdlib.h since malloc() isn't gonna change
+ too often, unless someone decides to de-KNR FreeBSD */
+void *malloc __P((size_t));
+
+typedef struct
+ {
+ int string;
+ int name;
+ char *title;
+ } hw_info_mib_list_t;
+
+bool GetInfo_CPU(KTabListBox *lBox)
+{
+ static hw_info_mib_list_t hw_info_mib_list[]= {
+ { 1, HW_MODEL, "Model" },
+ { 1, HW_MACHINE, "Machine" },
+ { 1, HW_MACHINE_ARCH, "Architecture" },
+ { 0, HW_NCPU, "Number of CPUs" },
+ { 0, HW_PAGESIZE, "Pagesize" },
+ { 0,0,0 }
+ };
+ hw_info_mib_list_t *hw_info_mib;
+
+ int mib[2], num;
+ char *buf, numbuf[sizeof(num)*3+1];
+ size_t len;
+ QString value;
+
+ lBox->setNumCols(2);
+ lBox->setSeparator('');
+ lBox->setColumn(0, i18n("Information"), 150);
+ lBox->setColumn(1, i18n("Value"));
+
+ for ( hw_info_mib = hw_info_mib_list ; hw_info_mib->title ; ++hw_info_mib )
+ {
+ mib[0] = CTL_HW;
+ mib[1] = hw_info_mib->name;
+ if ( hw_info_mib->string ) {
+ sysctl(mib,2,NULL,&len,NULL,0);
+ if ( (buf = (char*)malloc(len)) ) {
+ sysctl(mib,2,buf,&len,NULL,0);
+ value = QString(buf);
+ free(buf);
+ }
+ else {
+ value = QString("Unknown");
+ }
+ }
+ else {
+ len = sizeof(num);
+ sysctl(mib,2,&num,&len,NULL,0);
+ value.sprintf("%d", num);
+ }
+ lBox->insertItem(QString(hw_info_mib->title) + QString("") +
+ value);
+ }
+
+ return true;
+}
+
+// this is used to find out which devices are currently
+// on system
+static bool GetDmesgInfo(KTabListBox *lBox, const char *filter,
+ void func(KTabListBox *, QString s, void **, bool))
+{
+ QFile *dmesg = new QFile("/var/run/dmesg.boot");
+ bool usepipe=false;
+ FILE *pipe=NULL;
+ QTextStream *t;
+ bool seencpu=false;
+ void *opaque=NULL;
+ QString s;
+ bool found=false;
+
+ if (dmesg->exists() && dmesg->open(IO_ReadOnly)) {
+ t = new QTextStream(dmesg);
+ }
+ else {
+ delete dmesg;
+ pipe = popen("/sbin/dmesg", "r");
+ if (!pipe) return false;
+ usepipe = true;
+ t = new QTextStream(pipe, IO_ReadOnly);
+ }
+
+ lBox->setAutoUpdate(false);
+ while((s = t->readLine()) != "") {
+ if (!seencpu) {
+ if (s.contains("cpu"))
+ seencpu = true;
+ else
+ continue;
+ }
+ if (s.contains("boot device") ||
+ s.contains("WARNING: old BSD partition ID!"))
+ break;
+
+ if (!filter || s.contains(filter)) {
+ if (func) {
+ func(lBox, s, &opaque, false);
+ }
+ else {
+ lBox->insertItem(s);
+ }
+ found = true;
+ }
+ }
+ if (func) {
+ func(lBox, s, &opaque, true);
+ }
+ lBox->setAutoUpdate(true);
+ lBox->repaint();
+
+ delete t;
+ if (pipe) {
+ pclose(pipe);
+ }
+ else {
+ dmesg->close();
+ delete dmesg;
+ }
+
+ return found;
+}
+
+void AddIRQLine(KTabListBox *lBox, QString s, void **opaque, bool ending)
+{
+ QStrList *strlist = (QStrList *) *opaque;
+ const char *str;
+ int pos, irqnum=0;
+
+ if (!strlist) {
+ strlist = new QStrList();
+ *opaque = (void *) strlist;
+ }
+ if (ending) {
+ str = strlist->first();
+ for(;str; str = strlist->next()) {
+ lBox->insertItem(str);
+ }
+ delete strlist;
+ return;
+ }
+
+ pos = s.find(" irq ");
+ irqnum = (pos < 0) ? 0 : atoi(&(((const char *)s)[pos+5]));
+ if (irqnum) {
+ s.sprintf("%02d%s", irqnum, (const char *)s);
+ }
+ else {
+ s.sprintf("??%s", (const char *)s);
+ }
+ strlist->inSort(s);
+}
+
+bool GetInfo_IRQ (KTabListBox *lBox)
+{
+ lBox->setNumCols(2);
+ lBox->setSeparator('');
+ lBox->setColumn(0, i18n("IRQ"), 150);
+ lBox->setColumn(1, i18n("Device"));
+ (void) GetDmesgInfo(lBox, " irq ", AddIRQLine);
+ return true;
+}
+
+bool GetInfo_DMA (KTabListBox *)
+{
+ return FALSE;
+}
+
+bool GetInfo_PCI (KTabListBox *)
+{
+ return FALSE;
+}
+
+bool GetInfo_IO_Ports (KTabListBox *)
+{
+ return FALSE;
+}
+
+bool GetInfo_Sound (KTabListBox *lbox)
+{
+ if (!GetDmesgInfo(lbox, "audio", NULL))
+ lbox->insertItem(i18n("No audio devices found."));
+ return true;
+}
+
+bool GetInfo_Devices (KTabListBox *lBox)
+{
+ (void) GetDmesgInfo(lBox, NULL, NULL);
+ return true;
+}
+
+bool GetInfo_SCSI (KTabListBox *lbox)
+{
+ if (!GetDmesgInfo(lbox, "scsibus", NULL))
+ lbox->insertItem(i18n("No SCSI devices found."));
+ return true;
+}
+
+bool GetInfo_Partitions (KTabListBox *lbox)
+{
+ int maxwidth[4]={0,0,0};
+
+ QFontMetrics fm(lbox->tableFont());
+ QString s;
+ char *line, *orig_line;
+ const char *device, *mountpoint, *type, *flags;
+ FILE *pipe = popen("/sbin/mount", "r");
+ QTextStream *t;
+
+ if (!pipe) {
+ kdebug(KDEBUG_ERROR, 0, i18n("Ahh couldn't run /sbin/mount!"));
+ return false;
+ }
+ t = new QTextStream(pipe, IO_ReadOnly);
+
+ lbox->setNumCols(4);
+ lbox->setSeparator(';');
+
+ maxwidth[0]=fm.width(i18n("Device"));
+ lbox->setColumn(0, i18n("Device"), maxwidth[0]+2);
+
+ maxwidth[1]=fm.width(i18n("Mount Point"));
+ lbox->setColumn(1, i18n("Mount Point"), maxwidth[1]+2);
+
+ lbox->setColumn(2, i18n("FS Type"));
+ lbox->setColumn(2, i18n("FS Type"), maxwidth[2]+2);
+
+ maxwidth[3]=fm.width(i18n("Mount Options"));
+ lbox->setColumn(3, i18n("Mount Options"));
+
+
+ while ((s = t->readLine()) != "") {
+ orig_line = line = strdup(s);
+
+ device = strsep(&line, " ");
+ if (fm.width(device) > maxwidth[0]) {
+ maxwidth[0]=fm.width(device);
+ lbox->setColumnWidth(0, maxwidth[0]+10);
+ }
+
+ (void) strsep(&line, " "); // cosume word "on"
+ mountpoint = strsep(&line, " ");
+ if (fm.width(mountpoint) > maxwidth[1]) {
+ maxwidth[1]=fm.width(mountpoint);
+ lbox->setColumnWidth(1, maxwidth[1]+10);
+ }
+
+ (void) strsep(&line, " "); // cosume word "type"
+ type = strsep(&line, " ");
+ if (fm.width(type) > maxwidth[2]) {
+ maxwidth[2]=fm.width(type);
+ lbox->setColumnWidth(2, maxwidth[2]+10);
+ }
+
+ flags = line;
+
+ s.sprintf("%s;%s;%s;%s", device, mountpoint, type, flags);
+ lbox->insertItem(s);
+ free(orig_line);
+ }
+
+ delete t;
+ pclose(pipe);
+ return true;
+}
+
+bool GetInfo_XServer_and_Video (KTabListBox *lBox)
+{
+ return GetInfo_XServer_Generic( lBox );
+}
diff --git a/x11/kdebase/files/patch-sum b/x11/kdebase/files/patch-sum
index bd85655f665..4fa19503631 100644
--- a/x11/kdebase/files/patch-sum
+++ b/x11/kdebase/files/patch-sum
@@ -1,4 +1,4 @@
-$NetBSD: patch-sum,v 1.2 1999/07/15 08:46:22 tron Exp $
+$NetBSD: patch-sum,v 1.3 1999/07/15 13:54:30 tron Exp $
MD5 (patch-aa) = b02c21a3d700b6a6f1f350b0df7c1a57
MD5 (patch-ab) = aa17d01d1afe68ecc9556555779f8c0d
@@ -16,4 +16,3 @@ MD5 (patch-ao) = 2a0a9344a99303aae0d5b7816b52f16a
MD5 (patch-ap) = 747c8fc023114a90e8826feb5a73ad16
MD5 (patch-aq) = fcaaee7a19064589042d52cd8b1b3844
MD5 (patch-ar) = 66012da1191f029d9d1296044a6e3a14
-MD5 (patch-as) = 509e621b2e1234df1cd6dbd6b1834daf