/* info_svr4.cpp UNIX System V Release 4 specific Information about the Hardware. Appropriate for SCO OpenServer and UnixWare. Written 20-Feb-99 by Ronald Joe Record (rr@sco.com) Initially based on info_sgi.cpp */ #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 #define INFO_DEV_SNDSTAT "/dev/sndstat" #include <sys/systeminfo.h> /* all following functions should return true, when the Information was filled into the lBox-Widget. returning false indicates, that information was not available. */ bool GetInfo_ReadfromFile( TQListView *lBox, char *Name, char splitchar ) { TQString str; char buf[512]; TQFile *file = new TQFile(Name); TQListViewItem* olditem = 0; if(!file->open(IO_ReadOnly)) { delete file; return false; } while (file->readLine(buf,sizeof(buf)-1) > 0) { if (strlen(buf)) { char *p=buf; if (splitchar!=0) /* remove leading spaces between ':' and the following text */ while (*p) { if (*p==splitchar) { *p++ = ' '; while (*p==' ') ++p; *(--p) = splitchar; ++p; } else ++p; } TQString s1 = TQString::fromLocal8Bit(buf); TQString s2 = s1.mid(s1.find(splitchar)+1); s1.truncate(s1.find(splitchar)); if(!(s1.isEmpty() || s2.isEmpty())) olditem = new TQListViewItem(lBox, olditem, s1, s2); } } file->close(); delete file; return true; } bool GetInfo_CPU( TQListView *lBox ) { char buf[256]; sysinfo(SI_ARCHITECTURE, buf, sizeof(buf)); new TQListViewItem(lBox, TQString::fromLocal8Bit(buf)); return true; } bool GetInfo_IRQ( TQListView * ) { return false; } bool GetInfo_DMA( TQListView * ) { return false; } bool GetInfo_PCI( TQListView *lBox ) { char buf[256]; sysinfo(SI_BUSTYPES, buf, sizeof(buf)); new TQListViewItem(lBox, TQString::fromLocal8Bit(buf)); return true; } bool GetInfo_IO_Ports( TQListView * ) { return false; } bool GetInfo_Sound( TQListView *lBox ) { if ( GetInfo_ReadfromFile( lBox, INFO_DEV_SNDSTAT, 0 )) return true; else return false; } bool GetInfo_Devices( TQListView * ) { return false; } bool GetInfo_SCSI( TQListView * ) { return false; } bool GetInfo_Partitions( TQListView * ) { return false; } bool GetInfo_XServer_and_Video( TQListView *lBox ) { return GetInfo_XServer_Generic( lBox ); }