summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Quigley <tsimonq2@ubuntu.com>2017-06-19 14:38:35 -0500
committerSimon Quigley <tsimonq2@ubuntu.com>2017-06-19 14:38:35 -0500
commit720f5023a8f68aaaa54cb6b7bf46efee23b5b4c3 (patch)
tree26a8d91183787418455f65c2bb44ed641800dad3
parent854292407779593a401a1d5ce71add51880fa84f (diff)
Import Upstream version 0.4.1
-rw-r--r--LICENSE341
-rw-r--r--Makefile.in35
-rw-r--r--arch/.svn/README.txt2
-rw-r--r--arch/.svn/empty-file0
-rw-r--r--arch/.svn/entries20
-rw-r--r--arch/.svn/format1
-rw-r--r--arch/common/.svn/README.txt2
-rw-r--r--arch/common/.svn/empty-file0
-rw-r--r--arch/common/.svn/entries101
-rw-r--r--arch/common/.svn/format1
-rw-r--r--arch/common/.svn/prop-base/blowfish.h.svn-base0
-rw-r--r--arch/common/.svn/prop-base/display.h.svn-base0
-rw-r--r--arch/common/.svn/prop-base/fib.h.svn-base0
-rw-r--r--arch/common/.svn/prop-base/languages.h.svn-base0
-rw-r--r--arch/common/.svn/prop-base/md5.h.svn-base0
-rw-r--r--arch/common/.svn/prop-base/printers.h.svn-base0
-rw-r--r--arch/common/.svn/prop-base/sha1.h.svn-base0
-rw-r--r--arch/common/.svn/prop-base/zlib.h.svn-base0
-rw-r--r--arch/common/.svn/props/blowfish.h.svn-work0
-rw-r--r--arch/common/.svn/props/display.h.svn-work0
-rw-r--r--arch/common/.svn/props/fib.h.svn-work0
-rw-r--r--arch/common/.svn/props/languages.h.svn-work0
-rw-r--r--arch/common/.svn/props/md5.h.svn-work0
-rw-r--r--arch/common/.svn/props/printers.h.svn-work0
-rw-r--r--arch/common/.svn/props/sha1.h.svn-work0
-rw-r--r--arch/common/.svn/props/zlib.h.svn-work0
-rw-r--r--arch/common/.svn/text-base/blowfish.h.svn-base70
-rw-r--r--arch/common/.svn/text-base/display.h.svn-base137
-rw-r--r--arch/common/.svn/text-base/fib.h.svn-base50
-rw-r--r--arch/common/.svn/text-base/languages.h.svn-base102
-rw-r--r--arch/common/.svn/text-base/md5.h.svn-base67
-rw-r--r--arch/common/.svn/text-base/printers.h.svn-base81
-rw-r--r--arch/common/.svn/text-base/sha1.h.svn-base67
-rw-r--r--arch/common/.svn/text-base/users.h.svn-base63
-rw-r--r--arch/common/.svn/text-base/zlib.h.svn-base90
-rw-r--r--arch/common/blowfish.h10
-rw-r--r--arch/common/languages.h4
-rw-r--r--arch/common/md5.h9
-rw-r--r--arch/common/printers.h26
-rw-r--r--arch/common/sha1.h10
-rw-r--r--arch/common/users.h63
-rw-r--r--arch/common/zlib.h11
-rw-r--r--arch/linux/.svn/README.txt2
-rw-r--r--arch/linux/.svn/empty-file0
-rw-r--r--arch/linux/.svn/entries47
-rw-r--r--arch/linux/.svn/format1
-rw-r--r--arch/linux/.svn/prop-base/x86_64.svn-base5
-rw-r--r--arch/linux/.svn/props/x86_64.svn-work5
-rw-r--r--arch/linux/.svn/text-base/x86_64.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/README.txt2
-rw-r--r--arch/linux/armv4l/.svn/empty-file0
-rw-r--r--arch/linux/armv4l/.svn/entries156
-rw-r--r--arch/linux/armv4l/.svn/format1
-rw-r--r--arch/linux/armv4l/.svn/prop-base/alsa.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/filesystem.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/inputdevices.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/loadavg.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/memory.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/modules.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/net.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/nfs.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/os.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/pci.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/samba.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/sensors.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/storage.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/uptime.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/prop-base/usb.h.svn-base5
-rw-r--r--arch/linux/armv4l/.svn/props/alsa.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/filesystem.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/inputdevices.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/loadavg.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/memory.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/modules.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/net.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/nfs.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/os.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/pci.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/samba.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/sensors.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/storage.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/uptime.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/props/usb.h.svn-work5
-rw-r--r--arch/linux/armv4l/.svn/text-base/alsa.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/filesystem.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/inputdevices.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/loadavg.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/memory.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/modules.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/net.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/nfs.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/os.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/pci.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/processor.h.svn-base71
-rw-r--r--arch/linux/armv4l/.svn/text-base/samba.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/sensors.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/storage.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/uptime.h.svn-base1
-rw-r--r--arch/linux/armv4l/.svn/text-base/usb.h.svn-base1
l---------arch/linux/armv4l/alsa.h1
l---------arch/linux/armv4l/filesystem.h1
l---------arch/linux/armv4l/inputdevices.h1
l---------arch/linux/armv4l/loadavg.h1
l---------arch/linux/armv4l/memory.h1
l---------arch/linux/armv4l/modules.h1
l---------arch/linux/armv4l/net.h1
l---------arch/linux/armv4l/nfs.h1
l---------arch/linux/armv4l/os.h1
l---------arch/linux/armv4l/pci.h1
-rw-r--r--arch/linux/armv4l/processor.h71
l---------arch/linux/armv4l/samba.h1
l---------arch/linux/armv4l/sensors.h1
l---------arch/linux/armv4l/storage.h1
l---------arch/linux/armv4l/uptime.h1
l---------arch/linux/armv4l/usb.h1
-rw-r--r--arch/linux/common/.svn/README.txt2
-rw-r--r--arch/linux/common/.svn/empty-file0
-rw-r--r--arch/linux/common/.svn/entries151
-rw-r--r--arch/linux/common/.svn/format1
-rw-r--r--arch/linux/common/.svn/prop-base/alsa.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/filesystem.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/inputdevices.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/loadavg.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/memory.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/modules.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/net.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/os.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/pci.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/samba.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/sensors.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/storage.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/uptime.h.svn-base0
-rw-r--r--arch/linux/common/.svn/prop-base/usb.h.svn-base0
-rw-r--r--arch/linux/common/.svn/props/alsa.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/filesystem.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/inputdevices.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/loadavg.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/memory.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/modules.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/net.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/os.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/pci.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/samba.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/sensors.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/storage.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/uptime.h.svn-work0
-rw-r--r--arch/linux/common/.svn/props/usb.h.svn-work0
-rw-r--r--arch/linux/common/.svn/text-base/alsa.h.svn-base69
-rw-r--r--arch/linux/common/.svn/text-base/filesystem.h.svn-base102
-rw-r--r--arch/linux/common/.svn/text-base/inputdevices.h.svn-base122
-rw-r--r--arch/linux/common/.svn/text-base/loadavg.h.svn-base47
-rw-r--r--arch/linux/common/.svn/text-base/memory.h.svn-base56
-rw-r--r--arch/linux/common/.svn/text-base/modules.h.svn-base129
-rw-r--r--arch/linux/common/.svn/text-base/net.h.svn-base203
-rw-r--r--arch/linux/common/.svn/text-base/nfs.h.svn-base29
-rw-r--r--arch/linux/common/.svn/text-base/os.h.svn-base203
-rw-r--r--arch/linux/common/.svn/text-base/pci.h.svn-base190
-rw-r--r--arch/linux/common/.svn/text-base/samba.h.svn-base80
-rw-r--r--arch/linux/common/.svn/text-base/sensors.h.svn-base237
-rw-r--r--arch/linux/common/.svn/text-base/storage.h.svn-base268
-rw-r--r--arch/linux/common/.svn/text-base/uptime.h.svn-base75
-rw-r--r--arch/linux/common/.svn/text-base/usb.h.svn-base132
-rw-r--r--arch/linux/common/filesystem.h69
-rw-r--r--arch/linux/common/inputdevices.h7
-rw-r--r--arch/linux/common/nfs.h29
-rw-r--r--arch/linux/common/samba.h32
-rw-r--r--arch/linux/m68k/.svn/README.txt2
-rw-r--r--arch/linux/m68k/.svn/empty-file0
-rw-r--r--arch/linux/m68k/.svn/entries159
-rw-r--r--arch/linux/m68k/.svn/format1
-rw-r--r--arch/linux/m68k/.svn/prop-base/alsa.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/filesystem.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/inputdevices.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/loadavg.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/memory.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/modules.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/net.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/nfs.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/os.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/pci.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/processor.h.svn-base0
-rw-r--r--arch/linux/m68k/.svn/prop-base/samba.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/sensors.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/storage.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/uptime.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/prop-base/usb.h.svn-base5
-rw-r--r--arch/linux/m68k/.svn/props/alsa.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/filesystem.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/inputdevices.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/loadavg.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/memory.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/modules.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/net.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/nfs.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/os.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/pci.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/processor.h.svn-work0
-rw-r--r--arch/linux/m68k/.svn/props/samba.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/sensors.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/storage.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/uptime.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/props/usb.h.svn-work5
-rw-r--r--arch/linux/m68k/.svn/text-base/alsa.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/filesystem.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/inputdevices.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/loadavg.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/memory.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/modules.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/net.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/nfs.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/os.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/pci.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/processor.h.svn-base74
-rw-r--r--arch/linux/m68k/.svn/text-base/samba.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/sensors.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/storage.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/uptime.h.svn-base1
-rw-r--r--arch/linux/m68k/.svn/text-base/usb.h.svn-base1
l---------arch/linux/m68k/nfs.h1
-rw-r--r--arch/linux/mips/.svn/README.txt2
-rw-r--r--arch/linux/mips/.svn/empty-file0
-rw-r--r--arch/linux/mips/.svn/entries159
-rw-r--r--arch/linux/mips/.svn/format1
-rw-r--r--arch/linux/mips/.svn/prop-base/alsa.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/filesystem.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/inputdevices.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/loadavg.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/memory.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/modules.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/net.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/nfs.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/os.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/pci.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/processor.h.svn-base0
-rw-r--r--arch/linux/mips/.svn/prop-base/samba.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/sensors.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/storage.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/uptime.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/prop-base/usb.h.svn-base5
-rw-r--r--arch/linux/mips/.svn/props/alsa.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/filesystem.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/inputdevices.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/loadavg.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/memory.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/modules.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/net.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/nfs.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/os.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/pci.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/processor.h.svn-work0
-rw-r--r--arch/linux/mips/.svn/props/samba.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/sensors.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/storage.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/uptime.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/props/usb.h.svn-work5
-rw-r--r--arch/linux/mips/.svn/text-base/alsa.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/filesystem.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/inputdevices.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/loadavg.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/memory.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/modules.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/net.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/nfs.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/os.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/pci.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/processor.h.svn-base70
-rw-r--r--arch/linux/mips/.svn/text-base/samba.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/sensors.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/storage.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/uptime.h.svn-base1
-rw-r--r--arch/linux/mips/.svn/text-base/usb.h.svn-base1
l---------arch/linux/mips/nfs.h1
-rw-r--r--arch/linux/parisc/.svn/README.txt2
-rw-r--r--arch/linux/parisc/.svn/empty-file0
-rw-r--r--arch/linux/parisc/.svn/entries159
-rw-r--r--arch/linux/parisc/.svn/format1
-rw-r--r--arch/linux/parisc/.svn/prop-base/alsa.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/filesystem.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/inputdevices.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/loadavg.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/memory.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/modules.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/net.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/nfs.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/os.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/pci.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/processor.h.svn-base0
-rw-r--r--arch/linux/parisc/.svn/prop-base/samba.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/sensors.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/storage.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/uptime.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/prop-base/usb.h.svn-base5
-rw-r--r--arch/linux/parisc/.svn/props/alsa.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/filesystem.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/inputdevices.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/loadavg.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/memory.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/modules.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/net.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/nfs.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/os.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/pci.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/processor.h.svn-work0
-rw-r--r--arch/linux/parisc/.svn/props/samba.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/sensors.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/storage.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/uptime.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/props/usb.h.svn-work5
-rw-r--r--arch/linux/parisc/.svn/text-base/alsa.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/filesystem.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/inputdevices.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/loadavg.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/memory.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/modules.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/net.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/nfs.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/os.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/pci.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/processor.h.svn-base82
-rw-r--r--arch/linux/parisc/.svn/text-base/samba.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/sensors.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/storage.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/uptime.h.svn-base1
-rw-r--r--arch/linux/parisc/.svn/text-base/usb.h.svn-base1
l---------arch/linux/parisc/nfs.h1
-rw-r--r--arch/linux/ppc/.svn/README.txt2
-rw-r--r--arch/linux/ppc/.svn/empty-file0
-rw-r--r--arch/linux/ppc/.svn/entries159
-rw-r--r--arch/linux/ppc/.svn/format1
-rw-r--r--arch/linux/ppc/.svn/prop-base/alsa.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/filesystem.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/inputdevices.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/loadavg.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/memory.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/modules.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/net.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/nfs.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/os.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/pci.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/processor.h.svn-base0
-rw-r--r--arch/linux/ppc/.svn/prop-base/samba.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/sensors.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/storage.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/uptime.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/prop-base/usb.h.svn-base5
-rw-r--r--arch/linux/ppc/.svn/props/alsa.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/filesystem.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/inputdevices.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/loadavg.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/memory.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/modules.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/net.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/nfs.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/os.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/pci.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/processor.h.svn-work0
-rw-r--r--arch/linux/ppc/.svn/props/samba.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/sensors.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/storage.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/uptime.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/props/usb.h.svn-work5
-rw-r--r--arch/linux/ppc/.svn/text-base/alsa.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/filesystem.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/inputdevices.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/loadavg.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/memory.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/modules.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/net.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/nfs.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/os.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/pci.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/processor.h.svn-base78
-rw-r--r--arch/linux/ppc/.svn/text-base/samba.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/sensors.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/storage.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/uptime.h.svn-base1
-rw-r--r--arch/linux/ppc/.svn/text-base/usb.h.svn-base1
l---------arch/linux/ppc/nfs.h1
-rw-r--r--arch/linux/sparc/.svn/README.txt2
-rw-r--r--arch/linux/sparc/.svn/empty-file0
-rw-r--r--arch/linux/sparc/.svn/entries159
-rw-r--r--arch/linux/sparc/.svn/format1
-rw-r--r--arch/linux/sparc/.svn/prop-base/alsa.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/filesystem.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/inputdevices.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/loadavg.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/memory.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/modules.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/net.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/nfs.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/os.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/pci.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/processor.h.svn-base0
-rw-r--r--arch/linux/sparc/.svn/prop-base/samba.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/sensors.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/storage.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/uptime.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/prop-base/usb.h.svn-base5
-rw-r--r--arch/linux/sparc/.svn/props/alsa.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/filesystem.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/inputdevices.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/loadavg.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/memory.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/modules.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/net.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/nfs.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/os.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/pci.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/processor.h.svn-work0
-rw-r--r--arch/linux/sparc/.svn/props/samba.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/sensors.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/storage.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/uptime.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/props/usb.h.svn-work5
-rw-r--r--arch/linux/sparc/.svn/text-base/alsa.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/filesystem.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/inputdevices.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/loadavg.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/memory.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/modules.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/net.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/nfs.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/os.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/pci.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/processor.h.svn-base59
-rw-r--r--arch/linux/sparc/.svn/text-base/samba.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/sensors.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/storage.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/uptime.h.svn-base1
-rw-r--r--arch/linux/sparc/.svn/text-base/usb.h.svn-base1
l---------arch/linux/sparc/nfs.h1
-rw-r--r--arch/linux/x86/.svn/README.txt2
-rw-r--r--arch/linux/x86/.svn/empty-file0
-rw-r--r--arch/linux/x86/.svn/entries160
-rw-r--r--arch/linux/x86/.svn/format1
-rw-r--r--arch/linux/x86/.svn/prop-base/alsa.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/filesystem.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/inputdevices.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/loadavg.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/memory.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/modules.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/net.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/nfs.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/os.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/pci.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/processor.h.svn-base0
-rw-r--r--arch/linux/x86/.svn/prop-base/samba.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/sensors.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/storage.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/uptime.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/prop-base/usb.h.svn-base5
-rw-r--r--arch/linux/x86/.svn/props/alsa.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/filesystem.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/inputdevices.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/loadavg.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/memory.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/modules.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/net.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/nfs.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/os.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/pci.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/processor.h.svn-work0
-rw-r--r--arch/linux/x86/.svn/props/samba.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/sensors.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/storage.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/uptime.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/props/usb.h.svn-work5
-rw-r--r--arch/linux/x86/.svn/text-base/alsa.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/filesystem.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/inputdevices.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/loadavg.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/memory.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/modules.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/net.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/nfs.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/os.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/pci.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/processor.h.svn-base303
-rw-r--r--arch/linux/x86/.svn/text-base/samba.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/sensors.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/storage.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/uptime.h.svn-base1
-rw-r--r--arch/linux/x86/.svn/text-base/usb.h.svn-base1
l---------arch/linux/x86/nfs.h1
-rw-r--r--arch/linux/x86/processor.h10
-rw-r--r--benchmark.c8
-rw-r--r--binreloc.c682
-rw-r--r--binreloc.h68
-rw-r--r--callbacks.c31
-rw-r--r--callbacks.h2
-rw-r--r--computer.c27
-rwxr-xr-xconfigure72
-rw-r--r--hardinfo.c10
-rw-r--r--hardinfo.desktop12
-rw-r--r--hardinfo.h9
-rw-r--r--iconcache.c9
-rw-r--r--loadgraph.c48
-rw-r--r--loadgraph.h3
-rw-r--r--md5.c3
-rw-r--r--menu.c15
-rw-r--r--modules/.svn/README.txt2
-rw-r--r--modules/.svn/empty-file0
-rw-r--r--modules/.svn/entries14
-rw-r--r--modules/.svn/format1
-rw-r--r--pixmaps/.svn/README.txt2
-rw-r--r--pixmaps/.svn/empty-file0
-rw-r--r--pixmaps/.svn/entries392
-rw-r--r--pixmaps/.svn/format1
-rw-r--r--pixmaps/.svn/prop-base/2computer.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/athlon.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/audio.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/benchmark.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/blowfish.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/cdrom.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/compress.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/computer.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/dev_removable.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/devices.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/gnome-dev-removable-usb.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/gnome-devel.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/gnome-terminal.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/gnome-window-manager.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/graphics.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/hdd.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/joystick.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/kblayout.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/keyboard.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/language.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/logo.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/memory.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/modem.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/module.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/monitor.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/mouse.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/network.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/os.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/pcmcia.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/printer.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/processor.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/report.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/shares.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/stock_channel.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/stock_insert-floating-frame.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/stock_landline-phone.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/stock_macro-watch-variable.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/summary.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/therm.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/usb.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/users.png.svn-base5
-rw-r--r--pixmaps/.svn/prop-base/videocap.png.svn-base5
-rw-r--r--pixmaps/.svn/props/2computer.png.svn-work5
-rw-r--r--pixmaps/.svn/props/athlon.png.svn-work5
-rw-r--r--pixmaps/.svn/props/audio.png.svn-work5
-rw-r--r--pixmaps/.svn/props/benchmark.png.svn-work5
-rw-r--r--pixmaps/.svn/props/blowfish.png.svn-work5
-rw-r--r--pixmaps/.svn/props/cdrom.png.svn-work5
-rw-r--r--pixmaps/.svn/props/compress.png.svn-work5
-rw-r--r--pixmaps/.svn/props/computer.png.svn-work5
-rw-r--r--pixmaps/.svn/props/dev_removable.png.svn-work5
-rw-r--r--pixmaps/.svn/props/devices.png.svn-work5
-rw-r--r--pixmaps/.svn/props/gnome-dev-removable-usb.png.svn-work5
-rw-r--r--pixmaps/.svn/props/gnome-devel.png.svn-work5
-rw-r--r--pixmaps/.svn/props/gnome-terminal.png.svn-work5
-rw-r--r--pixmaps/.svn/props/gnome-window-manager.png.svn-work5
-rw-r--r--pixmaps/.svn/props/graphics.png.svn-work5
-rw-r--r--pixmaps/.svn/props/hdd.png.svn-work5
-rw-r--r--pixmaps/.svn/props/joystick.png.svn-work5
-rw-r--r--pixmaps/.svn/props/kblayout.png.svn-work5
-rw-r--r--pixmaps/.svn/props/keyboard.png.svn-work5
-rw-r--r--pixmaps/.svn/props/language.png.svn-work5
-rw-r--r--pixmaps/.svn/props/logo.png.svn-work5
-rw-r--r--pixmaps/.svn/props/memory.png.svn-work5
-rw-r--r--pixmaps/.svn/props/modem.png.svn-work5
-rw-r--r--pixmaps/.svn/props/module.png.svn-work5
-rw-r--r--pixmaps/.svn/props/monitor.png.svn-work5
-rw-r--r--pixmaps/.svn/props/mouse.png.svn-work5
-rw-r--r--pixmaps/.svn/props/network.png.svn-work5
-rw-r--r--pixmaps/.svn/props/os.png.svn-work5
-rw-r--r--pixmaps/.svn/props/pcmcia.png.svn-work5
-rw-r--r--pixmaps/.svn/props/printer.png.svn-work5
-rw-r--r--pixmaps/.svn/props/processor.png.svn-work5
-rw-r--r--pixmaps/.svn/props/report.png.svn-work5
-rw-r--r--pixmaps/.svn/props/shares.png.svn-work5
-rw-r--r--pixmaps/.svn/props/stock_channel.png.svn-work5
-rw-r--r--pixmaps/.svn/props/stock_insert-floating-frame.png.svn-work5
-rw-r--r--pixmaps/.svn/props/stock_landline-phone.png.svn-work5
-rw-r--r--pixmaps/.svn/props/stock_macro-watch-variable.png.svn-work5
-rw-r--r--pixmaps/.svn/props/summary.png.svn-work5
-rw-r--r--pixmaps/.svn/props/therm.png.svn-work5
-rw-r--r--pixmaps/.svn/props/usb.png.svn-work5
-rw-r--r--pixmaps/.svn/props/users.png.svn-work5
-rw-r--r--pixmaps/.svn/props/videocap.png.svn-work5
-rw-r--r--pixmaps/.svn/text-base/2computer.png.svn-basebin0 -> 988 bytes
-rw-r--r--pixmaps/.svn/text-base/athlon.png.svn-basebin0 -> 836 bytes
-rw-r--r--pixmaps/.svn/text-base/audio.png.svn-basebin0 -> 1414 bytes
-rw-r--r--pixmaps/.svn/text-base/benchmark.png.svn-basebin0 -> 946 bytes
-rw-r--r--pixmaps/.svn/text-base/blowfish.png.svn-basebin0 -> 1518 bytes
-rw-r--r--pixmaps/.svn/text-base/cdrom.png.svn-basebin0 -> 1235 bytes
-rw-r--r--pixmaps/.svn/text-base/compress.png.svn-basebin0 -> 689 bytes
-rw-r--r--pixmaps/.svn/text-base/computer.png.svn-basebin0 -> 937 bytes
-rw-r--r--pixmaps/.svn/text-base/dev_removable.png.svn-basebin0 -> 815 bytes
-rw-r--r--pixmaps/.svn/text-base/devices.png.svn-basebin0 -> 1005 bytes
-rw-r--r--pixmaps/.svn/text-base/gnome-dev-removable-usb.png.svn-basebin0 -> 966 bytes
-rw-r--r--pixmaps/.svn/text-base/gnome-devel.png.svn-basebin0 -> 959 bytes
-rw-r--r--pixmaps/.svn/text-base/gnome-terminal.png.svn-basebin0 -> 1077 bytes
-rw-r--r--pixmaps/.svn/text-base/gnome-window-manager.png.svn-basebin0 -> 550 bytes
-rw-r--r--pixmaps/.svn/text-base/graphics.png.svn-basebin0 -> 1499 bytes
-rw-r--r--pixmaps/.svn/text-base/hdd.png.svn-basebin0 -> 793 bytes
-rw-r--r--pixmaps/.svn/text-base/joystick.png.svn-basebin0 -> 754 bytes
-rw-r--r--pixmaps/.svn/text-base/kblayout.png.svn-basebin0 -> 899 bytes
-rw-r--r--pixmaps/.svn/text-base/keyboard.png.svn-basebin0 -> 1164 bytes
-rw-r--r--pixmaps/.svn/text-base/language.png.svn-basebin0 -> 1145 bytes
-rw-r--r--pixmaps/.svn/text-base/logo.png.svn-basebin0 -> 3182 bytes
-rw-r--r--pixmaps/.svn/text-base/memory.png.svn-basebin0 -> 1044 bytes
-rw-r--r--pixmaps/.svn/text-base/modem.png.svn-basebin0 -> 1669 bytes
-rw-r--r--pixmaps/.svn/text-base/module.png.svn-basebin0 -> 1049 bytes
-rw-r--r--pixmaps/.svn/text-base/monitor.png.svn-basebin0 -> 981 bytes
-rw-r--r--pixmaps/.svn/text-base/mouse.png.svn-basebin0 -> 922 bytes
-rw-r--r--pixmaps/.svn/text-base/network.png.svn-basebin0 -> 739 bytes
-rw-r--r--pixmaps/.svn/text-base/os.png.svn-basebin0 -> 1094 bytes
-rw-r--r--pixmaps/.svn/text-base/pcmcia.png.svn-basebin0 -> 873 bytes
-rw-r--r--pixmaps/.svn/text-base/printer.png.svn-basebin0 -> 1015 bytes
-rw-r--r--pixmaps/.svn/text-base/processor.png.svn-basebin0 -> 1409 bytes
-rw-r--r--pixmaps/.svn/text-base/report.png.svn-basebin0 -> 853 bytes
-rw-r--r--pixmaps/.svn/text-base/shares.png.svn-basebin0 -> 990 bytes
-rw-r--r--pixmaps/.svn/text-base/stock_channel.png.svn-basebin0 -> 1156 bytes
-rw-r--r--pixmaps/.svn/text-base/stock_insert-floating-frame.png.svn-basebin0 -> 321 bytes
-rw-r--r--pixmaps/.svn/text-base/stock_landline-phone.png.svn-basebin0 -> 1488 bytes
-rw-r--r--pixmaps/.svn/text-base/stock_macro-watch-variable.png.svn-basebin0 -> 543 bytes
-rw-r--r--pixmaps/.svn/text-base/summary.png.svn-basebin0 -> 966 bytes
-rw-r--r--pixmaps/.svn/text-base/therm.png.svn-basebin0 -> 954 bytes
-rw-r--r--pixmaps/.svn/text-base/usb.png.svn-basebin0 -> 936 bytes
-rw-r--r--pixmaps/.svn/text-base/users.png.svn-basebin0 -> 1499 bytes
-rw-r--r--pixmaps/.svn/text-base/videocap.png.svn-basebin0 -> 1724 bytes
-rw-r--r--report.c8
-rw-r--r--shell.c41
-rw-r--r--shell.h4
-rw-r--r--uidefs.xml2
-rw-r--r--util.c35
639 files changed, 8527 insertions, 177 deletions
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..21b9363e
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,341 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/Makefile.in b/Makefile.in
index c4ac1fa1..032b2629 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,12 +1,12 @@
-CC = gcc -fPIC -pipe -O3 $(ARCHOPTS)
-CCSLOW = gcc -fPIC -pipe -O0
-CFLAGS = -Wall -g $(GTK_CFLAGS) $(GLADE_CFLAGS) -I.
+CC = gcc -O3 $(ARCHOPTS)
+CCSLOW = gcc -O0
+CFLAGS = -fPIC -pipe -Wall -g $(GTK_CFLAGS) $(GLADE_CFLAGS) -I.
# ----------------------------------------------------------------------------
OBJECTS = hardinfo.o shell.o util.o iconcache.o loadgraph.o sha1.o md5.o \
- menu.o stock.o callbacks.o expr.o report.o blowfish.o
+ menu.o stock.o callbacks.o expr.o report.o blowfish.o binreloc.o
MODULES = computer.so devices.so benchmark.so
all: $(OBJECTS) $(MODULES)
@@ -26,7 +26,7 @@ sha1.o:
@echo "--- Module: $< ($@)"
$(CC) $(CFLAGS) -o $@ -shared $< $(GTK_FLAGS) $(GTK_LIBS) \
$(GLADE_LIBS) $(GLADE_FLAGS)
- mv $@ modules
+ mv -f $@ modules
clean:
rm -rf .xvpics pixmaps/.xvpics *.o *.so hardinfo modules/*.so report
@@ -47,16 +47,33 @@ deb: dist-clean
dpkg-buildpackage -rfakeroot -k${USER}
install: all
+ @echo '*** Creating directories...'
mkdir -p ${DESTDIR}/usr/bin
- cp hardinfo ${DESTDIR}/usr/bin/hardinfo
- mkdir -p ${DESTDIR}/usr/share/hardinfo/modules
- cp -rv modules/*.so ${DESTDIR}/usr/share/hardinfo/modules
+ mkdir -p ${DESTDIR}/usr/local
+ mkdir -p ${DESTDIR}/usr/share/applications
+ mkdir -p ${DESTDIR}/usr/lib/hardinfo/modules
mkdir -p ${DESTDIR}/usr/share/hardinfo/pixmaps
- cp -rv pixmaps/* ${DESTDIR}/usr/share/hardinfo/pixmaps
+
+ @echo '*** Installing icon...'
+ cp hardinfo.desktop ${DESTDIR}/usr/share/applications
+
+ @echo '*** Installing executable...'
+ cp hardinfo ${DESTDIR}/usr/bin/hardinfo
+
+ @echo '*** Installing modules...'
+ cp -r modules/*.so ${DESTDIR}/usr/lib/hardinfo/modules
+
+ @echo '*** Installing pixmaps...'
+ cp -r pixmaps/* ${DESTDIR}/usr/share/hardinfo/pixmaps
+
+ @echo '*** Installing misc data...'
cp uidefs.xml ${DESTDIR}/usr/share/hardinfo
cp modules.conf ${DESTDIR}/usr/share/hardinfo
cp benchmark.conf ${DESTDIR}/usr/share/hardinfo
cp benchmark.data ${DESTDIR}/usr/share/hardinfo
+
+ @echo '*** Fixing permissions...'
chmod -R 755 ${DESTDIR}/usr/share/hardinfo
chmod 755 ${DESTDIR}/usr/bin/hardinfo
+ @echo '*** Done installing.'
diff --git a/arch/.svn/README.txt b/arch/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/arch/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/arch/.svn/empty-file b/arch/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/.svn/empty-file
diff --git a/arch/.svn/entries b/arch/.svn/entries
new file mode 100644
index 00000000..1e500800
--- /dev/null
+++ b/arch/.svn/entries
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="9"
+ name=""
+ committed-date="2006-03-07T18:26:23.507991Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/arch"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+<entry
+ name="linux"
+ kind="dir"/>
+<entry
+ name="common"
+ kind="dir"/>
+</wc-entries>
diff --git a/arch/.svn/format b/arch/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/arch/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/arch/common/.svn/README.txt b/arch/common/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/arch/common/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/arch/common/.svn/empty-file b/arch/common/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/empty-file
diff --git a/arch/common/.svn/entries b/arch/common/.svn/entries
new file mode 100644
index 00000000..04b48187
--- /dev/null
+++ b/arch/common/.svn/entries
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="5"
+ name=""
+ committed-date="2006-02-01T00:06:47.257372Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/arch/common"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+<entry
+ committed-rev="10"
+ name="sha1.h"
+ text-time="2006-05-20T14:32:18.000000Z"
+ committed-date="2006-05-20T14:41:28.523270Z"
+ checksum="7254615d07c6be90bdafc764ca8e8f9f"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"
+ revision="10"/>
+<entry
+ committed-rev="10"
+ name="blowfish.h"
+ text-time="2006-05-20T14:32:18.000000Z"
+ committed-date="2006-05-20T14:41:28.523270Z"
+ checksum="d9411117551a66fd14fc8d6b13f1a04c"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"
+ revision="10"/>
+<entry
+ committed-rev="1"
+ name="fib.h"
+ text-time="2006-05-20T14:32:18.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="3de942d27f53135b370c1b88f45220c8"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"/>
+<entry
+ committed-rev="10"
+ name="zlib.h"
+ text-time="2006-05-20T14:32:18.000000Z"
+ committed-date="2006-05-20T14:41:28.523270Z"
+ checksum="e7c594c5913d0847a0e2b9bfd5d062d4"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"
+ revision="10"/>
+<entry
+ committed-rev="10"
+ name="users.h"
+ text-time="2006-05-22T11:31:37.000000Z"
+ committed-date="2006-05-20T14:41:28.523270Z"
+ checksum="216feeb3fed867dacbc8a8181d0d960d"
+ last-author="lafp"
+ kind="file"
+ revision="10"/>
+<entry
+ committed-rev="1"
+ name="display.h"
+ text-time="2006-05-20T14:32:18.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="9b9fe0f1472481b59436cdd18dbacfd4"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:30.000000Z"/>
+<entry
+ committed-rev="10"
+ name="md5.h"
+ text-time="2006-05-20T14:32:18.000000Z"
+ committed-date="2006-05-20T14:41:28.523270Z"
+ checksum="6f1b0aaf6549a02d95e1a56a42e4088b"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:30.000000Z"
+ revision="10"/>
+<entry
+ committed-rev="10"
+ name="languages.h"
+ text-time="2006-05-20T14:32:18.000000Z"
+ committed-date="2006-05-20T14:41:28.523270Z"
+ checksum="5c168fa59cb0589bf24d62cba96943e6"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:30.000000Z"
+ revision="10"/>
+<entry
+ committed-rev="17"
+ name="printers.h"
+ text-time="2006-06-10T12:43:57.000000Z"
+ committed-date="2006-06-10T12:46:54.945064Z"
+ checksum="6c4f384feae5b86188161fe27530c3b7"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:30.000000Z"
+ revision="17"/>
+</wc-entries>
diff --git a/arch/common/.svn/format b/arch/common/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/arch/common/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/arch/common/.svn/prop-base/blowfish.h.svn-base b/arch/common/.svn/prop-base/blowfish.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/prop-base/blowfish.h.svn-base
diff --git a/arch/common/.svn/prop-base/display.h.svn-base b/arch/common/.svn/prop-base/display.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/prop-base/display.h.svn-base
diff --git a/arch/common/.svn/prop-base/fib.h.svn-base b/arch/common/.svn/prop-base/fib.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/prop-base/fib.h.svn-base
diff --git a/arch/common/.svn/prop-base/languages.h.svn-base b/arch/common/.svn/prop-base/languages.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/prop-base/languages.h.svn-base
diff --git a/arch/common/.svn/prop-base/md5.h.svn-base b/arch/common/.svn/prop-base/md5.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/prop-base/md5.h.svn-base
diff --git a/arch/common/.svn/prop-base/printers.h.svn-base b/arch/common/.svn/prop-base/printers.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/prop-base/printers.h.svn-base
diff --git a/arch/common/.svn/prop-base/sha1.h.svn-base b/arch/common/.svn/prop-base/sha1.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/prop-base/sha1.h.svn-base
diff --git a/arch/common/.svn/prop-base/zlib.h.svn-base b/arch/common/.svn/prop-base/zlib.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/prop-base/zlib.h.svn-base
diff --git a/arch/common/.svn/props/blowfish.h.svn-work b/arch/common/.svn/props/blowfish.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/props/blowfish.h.svn-work
diff --git a/arch/common/.svn/props/display.h.svn-work b/arch/common/.svn/props/display.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/props/display.h.svn-work
diff --git a/arch/common/.svn/props/fib.h.svn-work b/arch/common/.svn/props/fib.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/props/fib.h.svn-work
diff --git a/arch/common/.svn/props/languages.h.svn-work b/arch/common/.svn/props/languages.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/props/languages.h.svn-work
diff --git a/arch/common/.svn/props/md5.h.svn-work b/arch/common/.svn/props/md5.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/props/md5.h.svn-work
diff --git a/arch/common/.svn/props/printers.h.svn-work b/arch/common/.svn/props/printers.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/props/printers.h.svn-work
diff --git a/arch/common/.svn/props/sha1.h.svn-work b/arch/common/.svn/props/sha1.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/props/sha1.h.svn-work
diff --git a/arch/common/.svn/props/zlib.h.svn-work b/arch/common/.svn/props/zlib.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/common/.svn/props/zlib.h.svn-work
diff --git a/arch/common/.svn/text-base/blowfish.h.svn-base b/arch/common/.svn/text-base/blowfish.h.svn-base
new file mode 100644
index 00000000..ad4bdb92
--- /dev/null
+++ b/arch/common/.svn/text-base/blowfish.h.svn-base
@@ -0,0 +1,70 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <blowfish.h>
+
+gchar *
+benchmark_fish(void)
+{
+ BLOWFISH_CTX ctx;
+ GTimer *timer = g_timer_new();
+ gdouble elapsed = 0;
+ gchar src[65536], *tmpsrc;
+ glong srclen = 65536;
+ unsigned long L, R;
+ int i;
+
+ tmpsrc = src;
+
+ L = 0xBEBACAFE;
+ R = 0xDEADBEEF;
+
+ gchar *bdata_path;
+
+ bdata_path = g_strdup_printf("%s/hardinfo/benchmark.data",
+ gbr_find_data_dir(PREFIX));
+
+ if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) {
+ g_free(bdata_path);
+ return g_strdup("[Error]\n"
+ PREFIX "benchmark.data not found=\n");
+ }
+
+ shell_view_set_enabled(FALSE);
+ shell_status_update("Benchmarking...");
+
+ for (i = 0; i <= 50000; i++) {
+ g_timer_start(timer);
+
+ Blowfish_Init(&ctx, (unsigned char*)tmpsrc, srclen);
+ Blowfish_Encrypt(&ctx, &L, &R);
+ Blowfish_Decrypt(&ctx, &L, &R);
+
+ g_timer_stop(timer);
+ elapsed += g_timer_elapsed(timer, NULL);
+
+ shell_status_set_percentage(i/500);
+ }
+
+ g_timer_destroy(timer);
+ g_free(bdata_path);
+
+ gchar *retval = g_strdup_printf("[Results <i>(in seconds; lower is better)</i>]\n"
+ "<b>This Machine</b>=<b>%.2f</b>\n", elapsed);
+ return benchmark_include_results(retval, "Blowfish");
+}
diff --git a/arch/common/.svn/text-base/display.h.svn-base b/arch/common/.svn/text-base/display.h.svn-base
new file mode 100644
index 00000000..6731e3e3
--- /dev/null
+++ b/arch/common/.svn/text-base/display.h.svn-base
@@ -0,0 +1,137 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static void
+get_glx_info(DisplayInfo *di)
+{
+ gchar *output;
+ if (g_spawn_command_line_sync("glxinfo", &output, NULL, NULL, NULL)) {
+ gchar **output_lines, **old;
+
+ output_lines = g_strsplit(output, "\n", 0);
+ g_free(output);
+
+ old = output_lines;
+ while (*(++output_lines)) {
+ if (strstr(*output_lines, "OpenGL")) {
+ gchar **tmp = g_strsplit(*output_lines, ":", 0);
+
+ tmp[1] = g_strchug(tmp[1]);
+
+ get_str("OpenGL vendor str", di->ogl_vendor);
+ get_str("OpenGL renderer str", di->ogl_renderer);
+ get_str("OpenGL version str", di->ogl_version);
+
+ g_strfreev(tmp);
+ }
+ }
+
+ g_strfreev(old);
+
+ if (!di->ogl_vendor)
+ di->ogl_vendor = "Unknown";
+ if (!di->ogl_renderer)
+ di->ogl_renderer = "Unknown";
+ if (!di->ogl_version)
+ di->ogl_version = "Unknown";
+ } else {
+ di->ogl_vendor = di->ogl_renderer = di->ogl_version = "Unknown";
+ }
+
+}
+
+static void
+get_x11_info(DisplayInfo *di)
+{
+ gchar *output;
+
+ if (g_spawn_command_line_sync("xdpyinfo", &output, NULL, NULL, NULL)) {
+ gchar **output_lines, **old;
+
+ output_lines = g_strsplit(output, "\n", 0);
+ g_free(output);
+
+ old = output_lines;
+ while (*(output_lines++)) {
+ gchar **tmp = g_strsplit(*output_lines, ":", 0);
+
+ if (tmp[1] && tmp[0]) {
+ tmp[1] = g_strchug(tmp[1]);
+
+ get_str("vendor string", di->vendor);
+ get_str("X.Org version", di->version);
+ get_str("XFree86 version", di->version);
+
+ if (g_str_has_prefix(tmp[0], "number of extensions")) {
+ int n;
+
+ di->extensions = "";
+
+ for (n = atoi(tmp[1]); n; n--) {
+ di->extensions = g_strconcat(di->extensions,
+ g_strstrip(*(++output_lines)),
+ "=\n",
+ NULL);
+ }
+ g_strfreev(tmp);
+
+ break;
+ }
+ }
+
+ g_strfreev(tmp);
+ }
+
+ g_strfreev(old);
+ }
+
+ GdkScreen *screen = gdk_screen_get_default();
+
+ if (screen && GDK_IS_SCREEN(screen)) {
+ gint n_monitors = gdk_screen_get_n_monitors(screen);
+ gint i;
+
+ di->monitors = "";
+ for (i = 0; i < n_monitors; i++) {
+ GdkRectangle rect;
+
+ gdk_screen_get_monitor_geometry(screen, i, &rect);
+
+ di->monitors = g_strdup_printf("%sMonitor %d=%dx%d pixels\n",
+ di->monitors, i, rect.width, rect.height);
+ }
+ } else {
+ di->monitors = "";
+ }
+}
+
+static DisplayInfo *
+computer_get_display(void)
+{
+ DisplayInfo *di = g_new0(DisplayInfo, 1);
+
+ GdkScreen *screen = gdk_screen_get_default();
+
+ di->width = gdk_screen_get_width(screen);
+ di->height = gdk_screen_get_height(screen);
+
+ get_glx_info(di);
+ get_x11_info(di);
+
+ return di;
+}
diff --git a/arch/common/.svn/text-base/fib.h.svn-base b/arch/common/.svn/text-base/fib.h.svn-base
new file mode 100644
index 00000000..493cfd0f
--- /dev/null
+++ b/arch/common/.svn/text-base/fib.h.svn-base
@@ -0,0 +1,50 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static unsigned long long
+fib(unsigned long long n)
+{
+ if (n == 0)
+ return 0;
+ else if (n == 1 || n == 2)
+ return 1;
+ return fib(n - 1) + fib(n - 2);
+}
+
+static gchar *
+benchmark_fib(void)
+{
+ GTimer *timer = g_timer_new();
+ gdouble elapsed = 0;
+
+ shell_view_set_enabled(FALSE);
+ shell_status_update("Calculating the 42<sup>th</sup> Fibonacci number...");
+
+ g_timer_start(timer);
+ fib(42); /* the answer? :) */
+ g_timer_stop(timer);
+
+ elapsed = g_timer_elapsed(timer, NULL);
+
+ g_timer_destroy(timer);
+
+ gchar *retval = g_strdup_printf("[Results <i>(in seconds; lower is better)</i>]\n"
+ "<b>This Machine</b>=<b>%.2f</b>\n", elapsed);
+ return benchmark_include_results(retval, "Fibonacci");
+}
+
diff --git a/arch/common/.svn/text-base/languages.h.svn-base b/arch/common/.svn/text-base/languages.h.svn-base
new file mode 100644
index 00000000..71e05dab
--- /dev/null
+++ b/arch/common/.svn/text-base/languages.h.svn-base
@@ -0,0 +1,102 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+void
+scan_languages(OperatingSystem * os)
+{
+ FILE *locale;
+ gchar buf[512], *retval = "";
+
+ locale = popen("locale -va", "r");
+ if (!locale)
+ return;
+
+ gchar name[32];
+ gchar *title = NULL,
+ *source = NULL,
+ *address = NULL,
+ *email = NULL,
+ *language = NULL,
+ *territory = NULL,
+ *revision = NULL,
+ *date = NULL,
+ *codeset = NULL;
+
+ while (fgets(buf, 512, locale)) {
+ if (!strncmp(buf, "locale:", 7)) {
+ sscanf(buf, "locale: %s", name);
+ fgets(buf, 128, locale);
+ } else if (strchr(buf, '|')) {
+ gchar **tmp = g_strsplit(buf, "|", 2);
+
+ tmp[0] = g_strstrip(tmp[0]);
+
+ if (tmp[1]) {
+ tmp[1] = g_strstrip(tmp[1]);
+
+ get_str("title", title);
+ get_str("source", source);
+ get_str("address", address);
+ get_str("email", email);
+ get_str("language", language);
+ get_str("territory", territory);
+ get_str("revision", revision);
+ get_str("date", date);
+ get_str("codeset", codeset);
+ }
+
+ g_strfreev(tmp);
+ } else {
+ gchar *currlocale;
+
+ retval = g_strdup_printf("%s$%s$%s=%s\n", retval, name, name, title);
+
+ currlocale = g_strdup_printf("[Locale Information]\n"
+ "Name=%s (%s)\n"
+ "Source=%s\n"
+ "Address=%s\n"
+ "Email=%s\n"
+ "Language=%s\n"
+ "Territory=%s\n"
+ "Revision=%s\n"
+ "Date=%s\n"
+ "Codeset=%s\n", name, title,
+ source, address, email, language,
+ territory, revision, date,
+ codeset);
+
+ g_hash_table_insert(moreinfo, g_strdup(name), currlocale);
+
+ g_free(title);
+ g_free(source);
+ g_free(address);
+ g_free(email);
+ g_free(language);
+ g_free(territory);
+ g_free(revision);
+ g_free(date);
+ g_free(codeset);
+
+ title = source = address = email = language = territory = \
+ revision = date = codeset = NULL;
+ }
+ }
+
+ fclose(locale);
+
+ os->languages = retval;
+}
diff --git a/arch/common/.svn/text-base/md5.h.svn-base b/arch/common/.svn/text-base/md5.h.svn-base
new file mode 100644
index 00000000..256d6c3b
--- /dev/null
+++ b/arch/common/.svn/text-base/md5.h.svn-base
@@ -0,0 +1,67 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <md5.h>
+
+gchar *
+benchmark_md5(void)
+{
+ struct MD5Context ctx;
+ guchar checksum[16];
+ int i;
+ GTimer *timer = g_timer_new();
+ gdouble elapsed = 0;
+ gchar src[65536], *tmpsrc;
+ glong srclen = 65536;
+
+ tmpsrc = src;
+
+ gchar *bdata_path;
+
+ bdata_path = g_strdup_printf("%s/hardinfo/benchmark.data",
+ gbr_find_data_dir(PREFIX));
+ if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) {
+ g_free(bdata_path);
+ return g_strdup("[Error]\n"
+ PREFIX "benchmark.data not found=\n");
+ }
+
+ shell_view_set_enabled(FALSE);
+ shell_status_update("Generating MD5 sum for 312MiB of data...");
+
+ for (i = 0; i <= 5000; i++) {
+ g_timer_start(timer);
+
+ MD5Init(&ctx);
+ MD5Update(&ctx, (guchar*)tmpsrc, srclen);
+ MD5Final(checksum, &ctx);
+
+ g_timer_stop(timer);
+ elapsed += g_timer_elapsed(timer, NULL);
+
+ shell_status_set_percentage(i/50);
+ }
+
+ g_timer_destroy(timer);
+ g_free(bdata_path);
+
+ gchar *retval = g_strdup_printf("[Results <i>(in seconds; lower is better)</i>]\n"
+ "<b>This Machine</b>=<b>%.2f</b>\n", elapsed);
+ return benchmark_include_results(retval, "MD5");
+}
+
diff --git a/arch/common/.svn/text-base/printers.h.svn-base b/arch/common/.svn/text-base/printers.h.svn-base
new file mode 100644
index 00000000..01beb5dd
--- /dev/null
+++ b/arch/common/.svn/text-base/printers.h.svn-base
@@ -0,0 +1,81 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+void
+scan_printers(void)
+{
+ static GModule *cups = NULL;
+ static int (*cupsGetPrinters) (char ***printers) = NULL;
+ static char *(*cupsGetDefault) (void) = NULL;
+ static char *libcups[] = { "libcups",
+ "libcups.so",
+ "libcups.so.1",
+ "libcups.so.2",
+ NULL };
+
+ if (printer_list)
+ g_free(printer_list);
+
+ if (!(cupsGetPrinters && cupsGetDefault)) {
+ int i;
+
+ for (i = 0; libcups[i] != NULL; i++) {
+ cups = g_module_open(libcups[i], G_MODULE_BIND_LAZY);
+ if (cups)
+ break;
+ }
+
+ if (!cups) {
+ printer_list = g_strdup("[Printers]\n"
+ "CUPS libraries cannot be found=");
+ return;
+ }
+
+ if (!g_module_symbol(cups, "cupsGetPrinters", (gpointer) & cupsGetPrinters)
+ || !g_module_symbol(cups, "cupsGetDefault",
+ (gpointer) & cupsGetDefault)) {
+ printer_list =
+ g_strdup("[Printers]\n"
+ "No suitable CUPS library found=");
+ g_module_close(cups);
+ return;
+ }
+ }
+
+ gchar **printers;
+ int noprinters, i;
+ const char *default_printer;
+
+ noprinters = cupsGetPrinters(&printers);
+ default_printer = cupsGetDefault();
+
+ if (noprinters > 0) {
+ printer_list = g_strdup_printf("[Printers (CUPS)]\n");
+ for (i = 0; i < noprinters; i++) {
+ printer_list = g_strconcat(printer_list, printers[i],
+ !strcmp(default_printer,
+ printers[i]) ?
+ "=<i>(Default)</i>\n" : "=\n",
+ NULL);
+ g_free(printers[i]);
+ }
+ } else {
+ printer_list = g_strdup("[Printers]\n"
+ "No printers found");
+ }
+}
diff --git a/arch/common/.svn/text-base/sha1.h.svn-base b/arch/common/.svn/text-base/sha1.h.svn-base
new file mode 100644
index 00000000..4bd07276
--- /dev/null
+++ b/arch/common/.svn/text-base/sha1.h.svn-base
@@ -0,0 +1,67 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+#include <sha1.h>
+
+gchar *
+benchmark_sha1(void)
+{
+ SHA1_CTX ctx;
+ guchar checksum[20];
+ int i;
+ GTimer *timer = g_timer_new();
+ gdouble elapsed = 0;
+ gchar src[65536], *tmpsrc;
+ glong srclen = 65536;
+
+ tmpsrc = src;
+
+ gchar *bdata_path;
+
+ bdata_path = g_strdup_printf("%s/hardinfo/benchmark.data",
+ gbr_find_data_dir(PREFIX));
+
+ if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) {
+ g_free(bdata_path);
+ return g_strdup("[Error]\n"
+ PREFIX "benchmark.data not found=\n");
+ }
+
+ shell_view_set_enabled(FALSE);
+ shell_status_update("Generating SHA1 sum for 312MiB of data...");
+
+ for (i = 0; i <= 5000; i++) {
+ g_timer_start(timer);
+
+ SHA1Init(&ctx);
+ SHA1Update(&ctx, (guchar*)tmpsrc, srclen);
+ SHA1Final(checksum, &ctx);
+
+ g_timer_stop(timer);
+ elapsed += g_timer_elapsed(timer, NULL);
+
+ shell_status_set_percentage(i/50);
+ }
+
+ g_timer_destroy(timer);
+ g_free(bdata_path);
+
+ gchar *retval = g_strdup_printf("[Results <i>(in seconds; lower is better)</i>]\n"
+ "<b>This Machine</b>=<b>%.2f</b>\n", elapsed);
+ return benchmark_include_results(retval, "SHA1");
+}
+
diff --git a/arch/common/.svn/text-base/users.h.svn-base b/arch/common/.svn/text-base/users.h.svn-base
new file mode 100644
index 00000000..08acd97a
--- /dev/null
+++ b/arch/common/.svn/text-base/users.h.svn-base
@@ -0,0 +1,63 @@
+static gchar *sys_users = NULL,
+ *human_users = NULL;
+
+static gboolean
+remove_users(gpointer key, gpointer value, gpointer data)
+{
+ if (!strncmp((gchar *) key, "USER", 4)) {
+ /*
+ * g_free((gchar *) key);
+ * g_free((GtkTreeIter *) value);
+ */
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void scan_users(void)
+{
+ FILE *passwd;
+ char buffer[512];
+
+ passwd = fopen("/etc/passwd", "r");
+ if (!passwd)
+ return;
+
+ if (sys_users) {
+ g_free(sys_users);
+ g_free(human_users);
+
+ g_hash_table_foreach_remove(moreinfo, remove_users, NULL);
+ }
+
+ sys_users = g_strdup("");
+ human_users = g_strdup("");
+
+ while (fgets(buffer, 512, passwd)) {
+ gchar **tmp;
+ gint uid;
+
+ tmp = g_strsplit(buffer, ":", 0);
+
+ gchar *key = g_strdup_printf("USER%s", tmp[0]);
+ gchar *val = g_strdup_printf("[User Information]\n"
+ "User ID=%s\n"
+ "Group ID=%s\n"
+ "Home directory=%s\n"
+ "Default shell=%s\n",
+ tmp[2], tmp[3], tmp[5], tmp[6]);
+ g_hash_table_insert(moreinfo, key, val);
+
+ uid = atoi(tmp[2]);
+ strend(tmp[4], ',');
+ if (uid >= 1000 && uid <= 65530) {
+ human_users = g_strdup_printf("%s$%s$%s=%s\n", human_users, key, tmp[0], tmp[4]);
+ } else {
+ sys_users = g_strdup_printf("%s$%s$%s=%s\n", sys_users, key, tmp[0], tmp[4]);
+ }
+
+ g_strfreev(tmp);
+ }
+
+ fclose(passwd);
+}
diff --git a/arch/common/.svn/text-base/zlib.h.svn-base b/arch/common/.svn/text-base/zlib.h.svn-base
new file mode 100644
index 00000000..2a1007ed
--- /dev/null
+++ b/arch/common/.svn/text-base/zlib.h.svn-base
@@ -0,0 +1,90 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static gchar *
+benchmark_zlib(void)
+{
+ GModule *libz;
+ static gulong (*compressBound) (glong srclen) = NULL;
+ static gint (*compress) (gchar *dst, glong *dstlen,
+ const gchar *src, glong srclen) = NULL;
+
+ if (!(compress && compressBound)) {
+ libz = g_module_open("libz", G_MODULE_BIND_LAZY);
+ if (!libz) {
+ libz = g_module_open("/lib/libz.so", G_MODULE_BIND_LAZY);
+ if (!libz) {
+ g_warning("Cannot load ZLib: %s", g_module_error());
+ return g_strdup("[Error]\n"
+ "ZLib not found=");
+ }
+ }
+
+ if (!g_module_symbol(libz, "compress", (gpointer) & compress)
+ || !g_module_symbol(libz, "compressBound", (gpointer) & compressBound)) {
+
+ g_module_close(libz);
+ return g_strdup("[Error]\n"
+ "Invalid Z-Lib found=");
+ }
+ }
+
+ shell_view_set_enabled(FALSE);
+
+ int i;
+ GTimer *timer = g_timer_new();
+ gdouble elapsed = 0;
+ gchar src[65536], *tmpsrc;
+ glong srclen = 65536;
+ gchar *bdata_path;
+
+ bdata_path = g_strdup_printf("%s/hardinfo/benchmark.data",
+ gbr_find_data_dir(PREFIX));
+
+ if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) {
+ g_free(bdata_path);
+ return g_strdup("[Error]\n"
+ PREFIX "benchmark.data not found=\n");
+ }
+
+ shell_status_update("Compressing 64MB with default options...");
+
+ for (i = 0; i <= 1000; i++) {
+ g_timer_start(timer);
+
+ gchar *dst;
+ glong dstlen = compressBound(srclen);
+
+ dst = g_new0(gchar, dstlen);
+ compress(dst, &dstlen, src, srclen);
+
+ g_timer_stop(timer);
+ elapsed += g_timer_elapsed(timer, NULL);
+ g_free(dst);
+
+ shell_status_set_percentage(i/10);
+ }
+
+ g_timer_destroy(timer);
+ g_free(bdata_path);
+
+ gchar *retval = g_strdup_printf("[Results <i>(in seconds; lower is better)</i>]\n"
+ "<b>This Machine</b>=<b>%.2f</b>\n", elapsed);
+ return benchmark_include_results(retval, "ZLib");
+}
+
diff --git a/arch/common/blowfish.h b/arch/common/blowfish.h
index 7333d069..ad4bdb92 100644
--- a/arch/common/blowfish.h
+++ b/arch/common/blowfish.h
@@ -34,8 +34,13 @@ benchmark_fish(void)
L = 0xBEBACAFE;
R = 0xDEADBEEF;
- if (!g_file_get_contents(PREFIX "benchmark.data",
- &tmpsrc, NULL, NULL)) {
+ gchar *bdata_path;
+
+ bdata_path = g_strdup_printf("%s/hardinfo/benchmark.data",
+ gbr_find_data_dir(PREFIX));
+
+ if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) {
+ g_free(bdata_path);
return g_strdup("[Error]\n"
PREFIX "benchmark.data not found=\n");
}
@@ -57,6 +62,7 @@ benchmark_fish(void)
}
g_timer_destroy(timer);
+ g_free(bdata_path);
gchar *retval = g_strdup_printf("[Results <i>(in seconds; lower is better)</i>]\n"
"<b>This Machine</b>=<b>%.2f</b>\n", elapsed);
diff --git a/arch/common/languages.h b/arch/common/languages.h
index 3a31ef7f..71e05dab 100644
--- a/arch/common/languages.h
+++ b/arch/common/languages.h
@@ -19,7 +19,7 @@ void
scan_languages(OperatingSystem * os)
{
FILE *locale;
- gchar buf[128], *retval = "";
+ gchar buf[512], *retval = "";
locale = popen("locale -va", "r");
if (!locale)
@@ -36,7 +36,7 @@ scan_languages(OperatingSystem * os)
*date = NULL,
*codeset = NULL;
- while (fgets(buf, 128, locale)) {
+ while (fgets(buf, 512, locale)) {
if (!strncmp(buf, "locale:", 7)) {
sscanf(buf, "locale: %s", name);
fgets(buf, 128, locale);
diff --git a/arch/common/md5.h b/arch/common/md5.h
index f61aef0f..256d6c3b 100644
--- a/arch/common/md5.h
+++ b/arch/common/md5.h
@@ -31,8 +31,12 @@ benchmark_md5(void)
tmpsrc = src;
- if (!g_file_get_contents(PREFIX "benchmark.data",
- &tmpsrc, NULL, NULL)) {
+ gchar *bdata_path;
+
+ bdata_path = g_strdup_printf("%s/hardinfo/benchmark.data",
+ gbr_find_data_dir(PREFIX));
+ if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) {
+ g_free(bdata_path);
return g_strdup("[Error]\n"
PREFIX "benchmark.data not found=\n");
}
@@ -54,6 +58,7 @@ benchmark_md5(void)
}
g_timer_destroy(timer);
+ g_free(bdata_path);
gchar *retval = g_strdup_printf("[Results <i>(in seconds; lower is better)</i>]\n"
"<b>This Machine</b>=<b>%.2f</b>\n", elapsed);
diff --git a/arch/common/printers.h b/arch/common/printers.h
index 8632ea18..01beb5dd 100644
--- a/arch/common/printers.h
+++ b/arch/common/printers.h
@@ -19,18 +19,30 @@
void
scan_printers(void)
{
- GModule *cups;
+ static GModule *cups = NULL;
static int (*cupsGetPrinters) (char ***printers) = NULL;
static char *(*cupsGetDefault) (void) = NULL;
+ static char *libcups[] = { "libcups",
+ "libcups.so",
+ "libcups.so.1",
+ "libcups.so.2",
+ NULL };
if (printer_list)
g_free(printer_list);
if (!(cupsGetPrinters && cupsGetDefault)) {
- cups = g_module_open("libcups", G_MODULE_BIND_LAZY);
- if (!cups) {
+ int i;
+
+ for (i = 0; libcups[i] != NULL; i++) {
+ cups = g_module_open(libcups[i], G_MODULE_BIND_LAZY);
+ if (cups)
+ break;
+ }
+
+ if (!cups) {
printer_list = g_strdup("[Printers]\n"
- "CUPS libraries cannot be found=");
+ "CUPS libraries cannot be found=");
return;
}
@@ -38,7 +50,8 @@ scan_printers(void)
|| !g_module_symbol(cups, "cupsGetDefault",
(gpointer) & cupsGetDefault)) {
printer_list =
- g_strdup("[Printers]\n" "No suitable CUPS library found=");
+ g_strdup("[Printers]\n"
+ "No suitable CUPS library found=");
g_module_close(cups);
return;
}
@@ -62,6 +75,7 @@ scan_printers(void)
g_free(printers[i]);
}
} else {
- printer_list = g_strdup("[Printers]\n" "No printers found");
+ printer_list = g_strdup("[Printers]\n"
+ "No printers found");
}
}
diff --git a/arch/common/sha1.h b/arch/common/sha1.h
index 521cbcae..4bd07276 100644
--- a/arch/common/sha1.h
+++ b/arch/common/sha1.h
@@ -30,8 +30,13 @@ benchmark_sha1(void)
tmpsrc = src;
- if (!g_file_get_contents(PREFIX "benchmark.data",
- &tmpsrc, NULL, NULL)) {
+ gchar *bdata_path;
+
+ bdata_path = g_strdup_printf("%s/hardinfo/benchmark.data",
+ gbr_find_data_dir(PREFIX));
+
+ if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) {
+ g_free(bdata_path);
return g_strdup("[Error]\n"
PREFIX "benchmark.data not found=\n");
}
@@ -53,6 +58,7 @@ benchmark_sha1(void)
}
g_timer_destroy(timer);
+ g_free(bdata_path);
gchar *retval = g_strdup_printf("[Results <i>(in seconds; lower is better)</i>]\n"
"<b>This Machine</b>=<b>%.2f</b>\n", elapsed);
diff --git a/arch/common/users.h b/arch/common/users.h
new file mode 100644
index 00000000..08acd97a
--- /dev/null
+++ b/arch/common/users.h
@@ -0,0 +1,63 @@
+static gchar *sys_users = NULL,
+ *human_users = NULL;
+
+static gboolean
+remove_users(gpointer key, gpointer value, gpointer data)
+{
+ if (!strncmp((gchar *) key, "USER", 4)) {
+ /*
+ * g_free((gchar *) key);
+ * g_free((GtkTreeIter *) value);
+ */
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void scan_users(void)
+{
+ FILE *passwd;
+ char buffer[512];
+
+ passwd = fopen("/etc/passwd", "r");
+ if (!passwd)
+ return;
+
+ if (sys_users) {
+ g_free(sys_users);
+ g_free(human_users);
+
+ g_hash_table_foreach_remove(moreinfo, remove_users, NULL);
+ }
+
+ sys_users = g_strdup("");
+ human_users = g_strdup("");
+
+ while (fgets(buffer, 512, passwd)) {
+ gchar **tmp;
+ gint uid;
+
+ tmp = g_strsplit(buffer, ":", 0);
+
+ gchar *key = g_strdup_printf("USER%s", tmp[0]);
+ gchar *val = g_strdup_printf("[User Information]\n"
+ "User ID=%s\n"
+ "Group ID=%s\n"
+ "Home directory=%s\n"
+ "Default shell=%s\n",
+ tmp[2], tmp[3], tmp[5], tmp[6]);
+ g_hash_table_insert(moreinfo, key, val);
+
+ uid = atoi(tmp[2]);
+ strend(tmp[4], ',');
+ if (uid >= 1000 && uid <= 65530) {
+ human_users = g_strdup_printf("%s$%s$%s=%s\n", human_users, key, tmp[0], tmp[4]);
+ } else {
+ sys_users = g_strdup_printf("%s$%s$%s=%s\n", sys_users, key, tmp[0], tmp[4]);
+ }
+
+ g_strfreev(tmp);
+ }
+
+ fclose(passwd);
+}
diff --git a/arch/common/zlib.h b/arch/common/zlib.h
index f68d60f4..2a1007ed 100644
--- a/arch/common/zlib.h
+++ b/arch/common/zlib.h
@@ -29,7 +29,7 @@ benchmark_zlib(void)
if (!libz) {
libz = g_module_open("/lib/libz.so", G_MODULE_BIND_LAZY);
if (!libz) {
- g_print("%s\n", g_module_error());
+ g_warning("Cannot load ZLib: %s", g_module_error());
return g_strdup("[Error]\n"
"ZLib not found=");
}
@@ -51,9 +51,13 @@ benchmark_zlib(void)
gdouble elapsed = 0;
gchar src[65536], *tmpsrc;
glong srclen = 65536;
+ gchar *bdata_path;
+
+ bdata_path = g_strdup_printf("%s/hardinfo/benchmark.data",
+ gbr_find_data_dir(PREFIX));
- if (!g_file_get_contents(PREFIX "benchmark.data",
- &tmpsrc, NULL, NULL)) {
+ if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) {
+ g_free(bdata_path);
return g_strdup("[Error]\n"
PREFIX "benchmark.data not found=\n");
}
@@ -77,6 +81,7 @@ benchmark_zlib(void)
}
g_timer_destroy(timer);
+ g_free(bdata_path);
gchar *retval = g_strdup_printf("[Results <i>(in seconds; lower is better)</i>]\n"
"<b>This Machine</b>=<b>%.2f</b>\n", elapsed);
diff --git a/arch/linux/.svn/README.txt b/arch/linux/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/arch/linux/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/arch/linux/.svn/empty-file b/arch/linux/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/.svn/empty-file
diff --git a/arch/linux/.svn/entries b/arch/linux/.svn/entries
new file mode 100644
index 00000000..5a69dcd8
--- /dev/null
+++ b/arch/linux/.svn/entries
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="9"
+ name=""
+ committed-date="2006-03-07T18:26:23.507991Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/arch/linux"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+<entry
+ name="parisc"
+ kind="dir"/>
+<entry
+ name="ppc"
+ kind="dir"/>
+<entry
+ name="m68k"
+ kind="dir"/>
+<entry
+ name="x86"
+ kind="dir"/>
+<entry
+ name="armv4l"
+ kind="dir"/>
+<entry
+ name="common"
+ kind="dir"/>
+<entry
+ name="mips"
+ kind="dir"/>
+<entry
+ name="sparc"
+ kind="dir"/>
+<entry
+ committed-rev="1"
+ name="x86_64"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="6a53d0a8e77cb5fc139bb4eb46911fa9"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"/>
+</wc-entries>
diff --git a/arch/linux/.svn/format b/arch/linux/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/arch/linux/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/arch/linux/.svn/prop-base/x86_64.svn-base b/arch/linux/.svn/prop-base/x86_64.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/.svn/prop-base/x86_64.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/.svn/props/x86_64.svn-work b/arch/linux/.svn/props/x86_64.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/.svn/props/x86_64.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/.svn/text-base/x86_64.svn-base b/arch/linux/.svn/text-base/x86_64.svn-base
new file mode 100644
index 00000000..f3c08968
--- /dev/null
+++ b/arch/linux/.svn/text-base/x86_64.svn-base
@@ -0,0 +1 @@
+link x86 \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/README.txt b/arch/linux/armv4l/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/arch/linux/armv4l/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/arch/linux/armv4l/.svn/empty-file b/arch/linux/armv4l/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/armv4l/.svn/empty-file
diff --git a/arch/linux/armv4l/.svn/entries b/arch/linux/armv4l/.svn/entries
new file mode 100644
index 00000000..b43822b6
--- /dev/null
+++ b/arch/linux/armv4l/.svn/entries
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="16"
+ name=""
+ committed-date="2006-05-28T10:40:24.784981Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/arch/linux/armv4l"
+ last-author="lafp"
+ kind="dir"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="16"/>
+<entry
+ committed-rev="16"
+ name="usb.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="0ed17ec7082ecf81bc512f4d2add7bec"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="sensors.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="ba83966be8f142e8f9fbed44bfc77b7a"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="inputdevices.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="1307b7aff245fa7fba84aa91f08d27fc"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="uptime.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="760f1adef4fbcec7d74200abc3a4f6eb"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="storage.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="602ef4aa9053cd983170660f53334cef"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="memory.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="765f1eed8d98b9bbb06c4c034ce9fa32"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="modules.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="45dfbaaabb31981ac06e021773429228"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="pci.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="cab1a2936974aed489c107f3643b3484"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="loadavg.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="1c83a008e883018ff1092781358ec2da"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="processor.h"
+ text-time="2006-05-28T10:32:28.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="4b8c2f74f5ec835ccb17253235b789b5"
+ last-author="lafp"
+ kind="file"/>
+<entry
+ committed-rev="16"
+ name="alsa.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="dc249687377b2de88793ee09bf54f1f1"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="os.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="048c3f4b338d765be4f10b5067d8b50e"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="samba.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="b541109072721d735717a33724ce9127"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="filesystem.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="7f23b37be4cf5009414843bfe5c4e450"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="nfs.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="382976a6eab28131079a346dd16edcd7"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+<entry
+ committed-rev="16"
+ name="net.h"
+ text-time="2006-05-28T10:27:47.000000Z"
+ committed-date="2006-05-28T10:40:24.784981Z"
+ checksum="22e5b201692010dee02e9562ce6cba1b"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-28T10:32:37.000000Z"/>
+</wc-entries>
diff --git a/arch/linux/armv4l/.svn/format b/arch/linux/armv4l/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/arch/linux/armv4l/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/arch/linux/armv4l/.svn/prop-base/alsa.h.svn-base b/arch/linux/armv4l/.svn/prop-base/alsa.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/alsa.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/filesystem.h.svn-base b/arch/linux/armv4l/.svn/prop-base/filesystem.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/filesystem.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/inputdevices.h.svn-base b/arch/linux/armv4l/.svn/prop-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/inputdevices.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/loadavg.h.svn-base b/arch/linux/armv4l/.svn/prop-base/loadavg.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/loadavg.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/memory.h.svn-base b/arch/linux/armv4l/.svn/prop-base/memory.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/memory.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/modules.h.svn-base b/arch/linux/armv4l/.svn/prop-base/modules.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/modules.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/net.h.svn-base b/arch/linux/armv4l/.svn/prop-base/net.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/net.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/nfs.h.svn-base b/arch/linux/armv4l/.svn/prop-base/nfs.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/nfs.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/os.h.svn-base b/arch/linux/armv4l/.svn/prop-base/os.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/os.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/pci.h.svn-base b/arch/linux/armv4l/.svn/prop-base/pci.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/pci.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/samba.h.svn-base b/arch/linux/armv4l/.svn/prop-base/samba.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/samba.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/sensors.h.svn-base b/arch/linux/armv4l/.svn/prop-base/sensors.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/sensors.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/storage.h.svn-base b/arch/linux/armv4l/.svn/prop-base/storage.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/storage.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/uptime.h.svn-base b/arch/linux/armv4l/.svn/prop-base/uptime.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/uptime.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/prop-base/usb.h.svn-base b/arch/linux/armv4l/.svn/prop-base/usb.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/prop-base/usb.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/alsa.h.svn-work b/arch/linux/armv4l/.svn/props/alsa.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/alsa.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/filesystem.h.svn-work b/arch/linux/armv4l/.svn/props/filesystem.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/filesystem.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/inputdevices.h.svn-work b/arch/linux/armv4l/.svn/props/inputdevices.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/inputdevices.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/loadavg.h.svn-work b/arch/linux/armv4l/.svn/props/loadavg.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/loadavg.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/memory.h.svn-work b/arch/linux/armv4l/.svn/props/memory.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/memory.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/modules.h.svn-work b/arch/linux/armv4l/.svn/props/modules.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/modules.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/net.h.svn-work b/arch/linux/armv4l/.svn/props/net.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/net.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/nfs.h.svn-work b/arch/linux/armv4l/.svn/props/nfs.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/nfs.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/os.h.svn-work b/arch/linux/armv4l/.svn/props/os.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/os.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/pci.h.svn-work b/arch/linux/armv4l/.svn/props/pci.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/pci.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/samba.h.svn-work b/arch/linux/armv4l/.svn/props/samba.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/samba.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/sensors.h.svn-work b/arch/linux/armv4l/.svn/props/sensors.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/sensors.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/storage.h.svn-work b/arch/linux/armv4l/.svn/props/storage.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/storage.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/uptime.h.svn-work b/arch/linux/armv4l/.svn/props/uptime.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/uptime.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/props/usb.h.svn-work b/arch/linux/armv4l/.svn/props/usb.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/armv4l/.svn/props/usb.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/armv4l/.svn/text-base/alsa.h.svn-base b/arch/linux/armv4l/.svn/text-base/alsa.h.svn-base
new file mode 100644
index 00000000..e17b92c3
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/alsa.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/alsa.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/filesystem.h.svn-base b/arch/linux/armv4l/.svn/text-base/filesystem.h.svn-base
new file mode 100644
index 00000000..0d23c803
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/filesystem.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/filesystem.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/inputdevices.h.svn-base b/arch/linux/armv4l/.svn/text-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..58695156
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/inputdevices.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/inputdevices.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/loadavg.h.svn-base b/arch/linux/armv4l/.svn/text-base/loadavg.h.svn-base
new file mode 100644
index 00000000..354f872f
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/loadavg.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/loadavg.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/memory.h.svn-base b/arch/linux/armv4l/.svn/text-base/memory.h.svn-base
new file mode 100644
index 00000000..2b2ad528
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/memory.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/memory.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/modules.h.svn-base b/arch/linux/armv4l/.svn/text-base/modules.h.svn-base
new file mode 100644
index 00000000..d80f7d7a
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/modules.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/modules.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/net.h.svn-base b/arch/linux/armv4l/.svn/text-base/net.h.svn-base
new file mode 100644
index 00000000..2b4ac97a
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/net.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/net.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/nfs.h.svn-base b/arch/linux/armv4l/.svn/text-base/nfs.h.svn-base
new file mode 100644
index 00000000..c10bd829
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/nfs.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/os.h.svn-base b/arch/linux/armv4l/.svn/text-base/os.h.svn-base
new file mode 100644
index 00000000..49613b1f
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/os.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/os.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/pci.h.svn-base b/arch/linux/armv4l/.svn/text-base/pci.h.svn-base
new file mode 100644
index 00000000..2386d2ad
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/pci.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/pci.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/processor.h.svn-base b/arch/linux/armv4l/.svn/text-base/processor.h.svn-base
new file mode 100644
index 00000000..7a9c1f2e
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/processor.h.svn-base
@@ -0,0 +1,71 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static Processor *
+computer_get_processor(void)
+{
+ Processor *processor;
+ FILE *cpuinfo;
+ gchar buffer[128];
+
+ cpuinfo = fopen("/proc/cpuinfo", "r");
+ if (!cpuinfo)
+ return NULL;
+
+ processor = g_new0(Processor, 1);
+ while (fgets(buffer, 128, cpuinfo)) {
+ gchar **tmp = g_strsplit(buffer, ":", 2);
+
+ if (tmp[0] && tmp[1]) {
+ tmp[0] = g_strstrip(tmp[0]);
+ tmp[1] = g_strstrip(tmp[1]);
+
+ get_str("Processor", processor->model_name);
+ get_str("Features", processor->flags);
+ get_float("BogoMIPS", processor->bogomips);
+
+ get_str("Hardware", processor->has_fpu);
+ }
+ g_strfreev(tmp);
+ }
+
+ fclose(cpuinfo);
+
+ return processor;
+}
+
+static gchar *
+processor_get_info(Processor *processor)
+{
+ return g_strdup_printf("[Processor]\n"
+ "Name=%s\n"
+ "Features=%s\n"
+ "BogoMips=%.2f\n"
+ "Endianesss="
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+ "Little Endian",
+#else
+ "Big Endian",
+#endif
+ "\n"
+ "Hardware=%s\n",
+ processor->model_name,
+ processor->flags,
+ processor->bogomips,
+ processor->has_fpu);
+}
diff --git a/arch/linux/armv4l/.svn/text-base/samba.h.svn-base b/arch/linux/armv4l/.svn/text-base/samba.h.svn-base
new file mode 100644
index 00000000..246e9ed0
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/samba.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/samba.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/sensors.h.svn-base b/arch/linux/armv4l/.svn/text-base/sensors.h.svn-base
new file mode 100644
index 00000000..822de7b7
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/sensors.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/sensors.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/storage.h.svn-base b/arch/linux/armv4l/.svn/text-base/storage.h.svn-base
new file mode 100644
index 00000000..24568f89
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/storage.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/storage.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/uptime.h.svn-base b/arch/linux/armv4l/.svn/text-base/uptime.h.svn-base
new file mode 100644
index 00000000..25cc41e9
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/uptime.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/uptime.h \ No newline at end of file
diff --git a/arch/linux/armv4l/.svn/text-base/usb.h.svn-base b/arch/linux/armv4l/.svn/text-base/usb.h.svn-base
new file mode 100644
index 00000000..8aece87f
--- /dev/null
+++ b/arch/linux/armv4l/.svn/text-base/usb.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/usb.h \ No newline at end of file
diff --git a/arch/linux/armv4l/alsa.h b/arch/linux/armv4l/alsa.h
new file mode 120000
index 00000000..0216845a
--- /dev/null
+++ b/arch/linux/armv4l/alsa.h
@@ -0,0 +1 @@
+../../linux/common/alsa.h \ No newline at end of file
diff --git a/arch/linux/armv4l/filesystem.h b/arch/linux/armv4l/filesystem.h
new file mode 120000
index 00000000..6b325b40
--- /dev/null
+++ b/arch/linux/armv4l/filesystem.h
@@ -0,0 +1 @@
+../../linux/common/filesystem.h \ No newline at end of file
diff --git a/arch/linux/armv4l/inputdevices.h b/arch/linux/armv4l/inputdevices.h
new file mode 120000
index 00000000..b9226a29
--- /dev/null
+++ b/arch/linux/armv4l/inputdevices.h
@@ -0,0 +1 @@
+../../linux/common/inputdevices.h \ No newline at end of file
diff --git a/arch/linux/armv4l/loadavg.h b/arch/linux/armv4l/loadavg.h
new file mode 120000
index 00000000..daaed6d5
--- /dev/null
+++ b/arch/linux/armv4l/loadavg.h
@@ -0,0 +1 @@
+../../linux/common/loadavg.h \ No newline at end of file
diff --git a/arch/linux/armv4l/memory.h b/arch/linux/armv4l/memory.h
new file mode 120000
index 00000000..5ffc013e
--- /dev/null
+++ b/arch/linux/armv4l/memory.h
@@ -0,0 +1 @@
+../../linux/common/memory.h \ No newline at end of file
diff --git a/arch/linux/armv4l/modules.h b/arch/linux/armv4l/modules.h
new file mode 120000
index 00000000..8ce5a808
--- /dev/null
+++ b/arch/linux/armv4l/modules.h
@@ -0,0 +1 @@
+../../linux/common/modules.h \ No newline at end of file
diff --git a/arch/linux/armv4l/net.h b/arch/linux/armv4l/net.h
new file mode 120000
index 00000000..72d77b26
--- /dev/null
+++ b/arch/linux/armv4l/net.h
@@ -0,0 +1 @@
+../../linux/common/net.h \ No newline at end of file
diff --git a/arch/linux/armv4l/nfs.h b/arch/linux/armv4l/nfs.h
new file mode 120000
index 00000000..3d1048da
--- /dev/null
+++ b/arch/linux/armv4l/nfs.h
@@ -0,0 +1 @@
+../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/armv4l/os.h b/arch/linux/armv4l/os.h
new file mode 120000
index 00000000..ef547be5
--- /dev/null
+++ b/arch/linux/armv4l/os.h
@@ -0,0 +1 @@
+../../linux/common/os.h \ No newline at end of file
diff --git a/arch/linux/armv4l/pci.h b/arch/linux/armv4l/pci.h
new file mode 120000
index 00000000..63760048
--- /dev/null
+++ b/arch/linux/armv4l/pci.h
@@ -0,0 +1 @@
+../../linux/common/pci.h \ No newline at end of file
diff --git a/arch/linux/armv4l/processor.h b/arch/linux/armv4l/processor.h
new file mode 100644
index 00000000..7a9c1f2e
--- /dev/null
+++ b/arch/linux/armv4l/processor.h
@@ -0,0 +1,71 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static Processor *
+computer_get_processor(void)
+{
+ Processor *processor;
+ FILE *cpuinfo;
+ gchar buffer[128];
+
+ cpuinfo = fopen("/proc/cpuinfo", "r");
+ if (!cpuinfo)
+ return NULL;
+
+ processor = g_new0(Processor, 1);
+ while (fgets(buffer, 128, cpuinfo)) {
+ gchar **tmp = g_strsplit(buffer, ":", 2);
+
+ if (tmp[0] && tmp[1]) {
+ tmp[0] = g_strstrip(tmp[0]);
+ tmp[1] = g_strstrip(tmp[1]);
+
+ get_str("Processor", processor->model_name);
+ get_str("Features", processor->flags);
+ get_float("BogoMIPS", processor->bogomips);
+
+ get_str("Hardware", processor->has_fpu);
+ }
+ g_strfreev(tmp);
+ }
+
+ fclose(cpuinfo);
+
+ return processor;
+}
+
+static gchar *
+processor_get_info(Processor *processor)
+{
+ return g_strdup_printf("[Processor]\n"
+ "Name=%s\n"
+ "Features=%s\n"
+ "BogoMips=%.2f\n"
+ "Endianesss="
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+ "Little Endian",
+#else
+ "Big Endian",
+#endif
+ "\n"
+ "Hardware=%s\n",
+ processor->model_name,
+ processor->flags,
+ processor->bogomips,
+ processor->has_fpu);
+}
diff --git a/arch/linux/armv4l/samba.h b/arch/linux/armv4l/samba.h
new file mode 120000
index 00000000..9227f722
--- /dev/null
+++ b/arch/linux/armv4l/samba.h
@@ -0,0 +1 @@
+../../linux/common/samba.h \ No newline at end of file
diff --git a/arch/linux/armv4l/sensors.h b/arch/linux/armv4l/sensors.h
new file mode 120000
index 00000000..35e5f37a
--- /dev/null
+++ b/arch/linux/armv4l/sensors.h
@@ -0,0 +1 @@
+../../linux/common/sensors.h \ No newline at end of file
diff --git a/arch/linux/armv4l/storage.h b/arch/linux/armv4l/storage.h
new file mode 120000
index 00000000..55b68de3
--- /dev/null
+++ b/arch/linux/armv4l/storage.h
@@ -0,0 +1 @@
+../../linux/common/storage.h \ No newline at end of file
diff --git a/arch/linux/armv4l/uptime.h b/arch/linux/armv4l/uptime.h
new file mode 120000
index 00000000..78c026ff
--- /dev/null
+++ b/arch/linux/armv4l/uptime.h
@@ -0,0 +1 @@
+../../linux/common/uptime.h \ No newline at end of file
diff --git a/arch/linux/armv4l/usb.h b/arch/linux/armv4l/usb.h
new file mode 120000
index 00000000..8b8fbb5d
--- /dev/null
+++ b/arch/linux/armv4l/usb.h
@@ -0,0 +1 @@
+../../linux/common/usb.h \ No newline at end of file
diff --git a/arch/linux/common/.svn/README.txt b/arch/linux/common/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/arch/linux/common/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/arch/linux/common/.svn/empty-file b/arch/linux/common/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/empty-file
diff --git a/arch/linux/common/.svn/entries b/arch/linux/common/.svn/entries
new file mode 100644
index 00000000..590cfded
--- /dev/null
+++ b/arch/linux/common/.svn/entries
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="9"
+ name=""
+ committed-date="2006-03-07T18:26:23.507991Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/arch/linux/common"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+<entry
+ committed-rev="1"
+ name="usb.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="0c0cac5253587505cc065f0e256a5d4d"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:24.000000Z"/>
+<entry
+ committed-rev="1"
+ name="sensors.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="29e1c509624467fe7314b4735e7111c0"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:24.000000Z"/>
+<entry
+ committed-rev="12"
+ name="inputdevices.h"
+ text-time="2006-05-20T19:41:49.000000Z"
+ committed-date="2006-05-20T19:59:34.736889Z"
+ checksum="01a7b3bd4ca502e604a6feb9092523d8"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:24.000000Z"
+ revision="12"/>
+<entry
+ committed-rev="1"
+ name="uptime.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="4f5d1b5cb05b0f74f1cc5030d58568a4"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:24.000000Z"/>
+<entry
+ committed-rev="1"
+ name="storage.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="d5793dc35001654f593b7b20028065d8"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:25.000000Z"/>
+<entry
+ committed-rev="1"
+ name="memory.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="6003144cee387dca46d2ef91429c1d49"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:25.000000Z"/>
+<entry
+ committed-rev="1"
+ name="modules.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="1ad54b4dd6e3eec6b953ad4ddf0fd860"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:25.000000Z"/>
+<entry
+ committed-rev="4"
+ name="pci.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="37a5c5e99c34cbb4adbc4aa31e7fd457"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:24.000000Z"/>
+<entry
+ committed-rev="1"
+ name="loadavg.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="d5c6e755bc626cbad504197c6806f532"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:24.000000Z"/>
+<entry
+ committed-rev="1"
+ name="alsa.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="59621ae90495ca734fffde1d5c6a17f8"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:24.000000Z"/>
+<entry
+ committed-rev="4"
+ name="os.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="5096953136a76251742ceedbe95b4b27"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:24.000000Z"/>
+<entry
+ committed-rev="18"
+ name="samba.h"
+ text-time="2006-06-16T14:09:12.000000Z"
+ committed-date="2006-06-16T14:09:52.687901Z"
+ checksum="41d760d05bea9c45eba0622fe168b2fd"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:24.000000Z"
+ revision="18"/>
+<entry
+ committed-rev="9"
+ name="filesystem.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-03-07T18:26:23.507991Z"
+ checksum="964d2ae62a1d35e125607b9e13d56762"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:25.000000Z"/>
+<entry
+ committed-rev="4"
+ name="net.h"
+ text-time="2006-05-20T14:29:25.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="cda86d4df0a7b91c598f6da5ec63b13e"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:25.000000Z"/>
+<entry
+ committed-rev="14"
+ name="nfs.h"
+ text-time="2006-05-22T16:03:07.000000Z"
+ committed-date="2006-05-22T16:05:56.041082Z"
+ checksum="65db4676d1ef228ef7821c71ae185f67"
+ last-author="lafp"
+ kind="file"
+ revision="14"/>
+</wc-entries>
diff --git a/arch/linux/common/.svn/format b/arch/linux/common/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/arch/linux/common/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/arch/linux/common/.svn/prop-base/alsa.h.svn-base b/arch/linux/common/.svn/prop-base/alsa.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/alsa.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/filesystem.h.svn-base b/arch/linux/common/.svn/prop-base/filesystem.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/filesystem.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/inputdevices.h.svn-base b/arch/linux/common/.svn/prop-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/inputdevices.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/loadavg.h.svn-base b/arch/linux/common/.svn/prop-base/loadavg.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/loadavg.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/memory.h.svn-base b/arch/linux/common/.svn/prop-base/memory.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/memory.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/modules.h.svn-base b/arch/linux/common/.svn/prop-base/modules.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/modules.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/net.h.svn-base b/arch/linux/common/.svn/prop-base/net.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/net.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/os.h.svn-base b/arch/linux/common/.svn/prop-base/os.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/os.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/pci.h.svn-base b/arch/linux/common/.svn/prop-base/pci.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/pci.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/samba.h.svn-base b/arch/linux/common/.svn/prop-base/samba.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/samba.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/sensors.h.svn-base b/arch/linux/common/.svn/prop-base/sensors.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/sensors.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/storage.h.svn-base b/arch/linux/common/.svn/prop-base/storage.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/storage.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/uptime.h.svn-base b/arch/linux/common/.svn/prop-base/uptime.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/uptime.h.svn-base
diff --git a/arch/linux/common/.svn/prop-base/usb.h.svn-base b/arch/linux/common/.svn/prop-base/usb.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/prop-base/usb.h.svn-base
diff --git a/arch/linux/common/.svn/props/alsa.h.svn-work b/arch/linux/common/.svn/props/alsa.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/alsa.h.svn-work
diff --git a/arch/linux/common/.svn/props/filesystem.h.svn-work b/arch/linux/common/.svn/props/filesystem.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/filesystem.h.svn-work
diff --git a/arch/linux/common/.svn/props/inputdevices.h.svn-work b/arch/linux/common/.svn/props/inputdevices.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/inputdevices.h.svn-work
diff --git a/arch/linux/common/.svn/props/loadavg.h.svn-work b/arch/linux/common/.svn/props/loadavg.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/loadavg.h.svn-work
diff --git a/arch/linux/common/.svn/props/memory.h.svn-work b/arch/linux/common/.svn/props/memory.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/memory.h.svn-work
diff --git a/arch/linux/common/.svn/props/modules.h.svn-work b/arch/linux/common/.svn/props/modules.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/modules.h.svn-work
diff --git a/arch/linux/common/.svn/props/net.h.svn-work b/arch/linux/common/.svn/props/net.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/net.h.svn-work
diff --git a/arch/linux/common/.svn/props/os.h.svn-work b/arch/linux/common/.svn/props/os.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/os.h.svn-work
diff --git a/arch/linux/common/.svn/props/pci.h.svn-work b/arch/linux/common/.svn/props/pci.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/pci.h.svn-work
diff --git a/arch/linux/common/.svn/props/samba.h.svn-work b/arch/linux/common/.svn/props/samba.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/samba.h.svn-work
diff --git a/arch/linux/common/.svn/props/sensors.h.svn-work b/arch/linux/common/.svn/props/sensors.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/sensors.h.svn-work
diff --git a/arch/linux/common/.svn/props/storage.h.svn-work b/arch/linux/common/.svn/props/storage.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/storage.h.svn-work
diff --git a/arch/linux/common/.svn/props/uptime.h.svn-work b/arch/linux/common/.svn/props/uptime.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/uptime.h.svn-work
diff --git a/arch/linux/common/.svn/props/usb.h.svn-work b/arch/linux/common/.svn/props/usb.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/common/.svn/props/usb.h.svn-work
diff --git a/arch/linux/common/.svn/text-base/alsa.h.svn-base b/arch/linux/common/.svn/text-base/alsa.h.svn-base
new file mode 100644
index 00000000..0c0744ae
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/alsa.h.svn-base
@@ -0,0 +1,69 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+gchar *
+computer_get_alsacards(Computer * computer)
+{
+ GSList *p;
+ gchar *tmp = "";
+ gint n = 0;
+
+ if (computer->alsa) {
+ for (p = computer->alsa->cards; p; p = p->next) {
+ AlsaCard *ac = (AlsaCard *) p->data;
+
+ tmp =
+ g_strdup_printf("Audio Adapter#%d=%s\n%s", ++n,
+ ac->friendly_name, tmp);
+ }
+ }
+
+ return tmp;
+}
+
+static AlsaInfo *
+computer_get_alsainfo(void)
+{
+ AlsaInfo *ai;
+ AlsaCard *ac;
+ FILE *cards;
+ gchar buffer[128];
+
+ cards = fopen("/proc/asound/cards", "r");
+ if (!cards)
+ return NULL;
+
+ ai = g_new0(AlsaInfo, 1);
+
+ while (fgets(buffer, 128, cards)) {
+ gchar **tmp;
+
+ ac = g_new0(AlsaCard, 1);
+
+ tmp = g_strsplit(buffer, ":", 0);
+
+ ac->friendly_name = g_strdup(tmp[1]);
+ ai->cards = g_slist_append(ai->cards, ac);
+
+ g_strfreev(tmp);
+ fgets(buffer, 128, cards); /* skip next line */
+ }
+ fclose(cards);
+
+ return ai;
+}
diff --git a/arch/linux/common/.svn/text-base/filesystem.h.svn-base b/arch/linux/common/.svn/text-base/filesystem.h.svn-base
new file mode 100644
index 00000000..79784c8f
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/filesystem.h.svn-base
@@ -0,0 +1,102 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Some code from xfce4-mount-plugin, version 0.4.3
+ * Copyright (C) 2005 Jean-Baptiste jb_dul@yahoo.com
+ * Distributed under the terms of GNU GPL 2.
+ */
+#include <sys/vfs.h>
+#define KB 1024
+#define MB 1048576
+#define GB 1073741824
+
+static gchar *fs_list = NULL;
+
+static gchar *
+fs_human_readable(gfloat size)
+{
+ if (size < KB)
+ return g_strdup_printf("%.1f B", size);
+ if (size < MB)
+ return g_strdup_printf("%.1f KiB", size / KB);
+ if (size < GB)
+ return g_strdup_printf("%.1f MiB", size / MB);
+
+ return g_strdup_printf("%.1f GiB", size / GB);
+}
+
+static void
+scan_filesystems(void)
+{
+ FILE *mtab;
+ gchar buf[1024];
+ struct statfs sfs;
+
+ g_free(fs_list);
+ fs_list = g_strdup("");
+
+ mtab = fopen("/etc/mtab", "r");
+ if (!mtab)
+ return;
+
+ while (fgets(buf, 1024, mtab)) {
+ gfloat size, used, avail;
+ gchar **tmp;
+
+ tmp = g_strsplit(buf, " ", 0);
+ if (!statfs(tmp[1], &sfs)) {
+ size = (float) sfs.f_bsize * (float) sfs.f_blocks;
+ avail = (float) sfs.f_bsize * (float) sfs.f_bavail;
+ used = size - avail;
+
+ gchar *strsize = fs_human_readable(size),
+ *stravail = fs_human_readable(avail),
+ *strused = fs_human_readable(used);
+
+ gchar *strhash;
+ if ((strhash = g_hash_table_lookup(moreinfo, tmp[0]))) {
+ g_hash_table_remove(moreinfo, tmp[0]);
+ g_free(strhash);
+ }
+
+ strhash = g_strdup_printf("[%s]\n"
+ "Filesystem=%s\n"
+ "Mounted As=%s\n"
+ "Mount Point=%s\n"
+ "Size=%s\n"
+ "Used=%s\n"
+ "Available=%s\n",
+ tmp[0],
+ tmp[2],
+ strstr(tmp[3], "rw") ? "Read-Write" :
+ "Read-Only", tmp[1], strsize, strused,
+ stravail);
+ g_hash_table_insert(moreinfo, g_strdup(tmp[0]), strhash);
+
+ fs_list = g_strdup_printf("%s$%s$%s=%s total, %s free\n",
+ fs_list,
+ tmp[0], tmp[0], strsize, stravail);
+
+ g_free(strsize);
+ g_free(stravail);
+ g_free(strused);
+ }
+ g_strfreev(tmp);
+ }
+
+ fclose(mtab);
+}
diff --git a/arch/linux/common/.svn/text-base/inputdevices.h.svn-base b/arch/linux/common/.svn/text-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..44a109ca
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/inputdevices.h.svn-base
@@ -0,0 +1,122 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static gchar *input_icons = NULL;
+
+static gboolean
+remove_input_devices(gpointer key, gpointer value, gpointer data)
+{
+ if (!strncmp((gchar *) key, "INP", 3)) {
+ g_free((gchar *) key);
+ g_free((GtkTreeIter *) value);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static struct {
+ char *name;
+ char *icon;
+} input_devices[] = {
+ { "Keyboard", "keyboard.png" },
+ { "Joystick", "joystick.png" },
+ { "Mouse", "mouse.png" },
+ { "Speaker", "audio.png" },
+ { "Unknown", "module.png" },
+};
+
+void
+scan_inputdevices(void)
+{
+ FILE *dev;
+ gchar buffer[128];
+ gchar *tmp, *name = NULL, *phys = NULL;
+ gint bus, vendor, product, version;
+ int d = 0, n = 0;
+
+ dev = fopen("/proc/bus/input/devices", "r");
+ if (!dev)
+ return;
+
+ if (input_list) {
+ g_hash_table_foreach_remove(devices, remove_input_devices, NULL);
+ g_free(input_list);
+ g_free(input_icons);
+ }
+ input_list = g_strdup("");
+ input_icons = g_strdup("");
+
+ while (fgets(buffer, 128, dev)) {
+ tmp = buffer;
+
+ switch (*tmp) {
+ case 'N':
+ name = g_strdup(tmp + strlen("N: Name="));
+ remove_quotes(name);
+ break;
+ case 'P':
+ phys = g_strdup(tmp + strlen("P: Phys="));
+ break;
+ case 'I':
+ sscanf(tmp, "I: Bus=%x Vendor=%x Product=%x Version=%x",
+ &bus, &vendor, &product, &version);
+ break;
+ case 'H':
+ if (strstr(tmp, "kbd"))
+ d = 0; //INPUT_KEYBOARD;
+ else if (strstr(tmp, "js"))
+ d = 1; //INPUT_JOYSTICK;
+ else if (strstr(tmp, "mouse"))
+ d = 2; //INPUT_MOUSE;
+ else
+ d = 4; //INPUT_UNKNOWN;
+ break;
+ case '\n':
+ if (strstr(name, "PC Speaker")) {
+ d = 3; // INPUT_PCSPKR
+ }
+
+ tmp = g_strdup_printf("INP%d", ++n);
+ input_list = g_strdup_printf("%s$%s$%s=\n",
+ input_list,
+ tmp, name);
+ input_icons = g_strdup_printf("%sIcon$%s$%s=%s\n",
+ input_icons,
+ tmp, name,
+ input_devices[d].icon);
+ gchar *strhash = g_strdup_printf("[Device Information]\n"
+ "Name=%s\n"
+ "Type=%s\n"
+ "Bus=0x%x\n"
+ "Vendor=0x%x\n"
+ "Product=0x%x\n"
+ "Version=0x%x\n"
+ "Connected to=%s\n",
+ name, input_devices[d].name,
+ bus, vendor, product,
+ version, phys);
+ g_hash_table_insert(devices, tmp, strhash);
+
+ g_free(phys);
+ g_free(name);
+ }
+ }
+
+ fclose(dev);
+}
diff --git a/arch/linux/common/.svn/text-base/loadavg.h.svn-base b/arch/linux/common/.svn/text-base/loadavg.h.svn-base
new file mode 100644
index 00000000..28132b5f
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/loadavg.h.svn-base
@@ -0,0 +1,47 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static LoadInfo *
+computer_get_loadinfo(void)
+{
+ LoadInfo *li = g_new0(LoadInfo, 1);
+ FILE *procloadavg;
+
+ procloadavg = fopen("/proc/loadavg", "r");
+ fscanf(procloadavg, "%f %f %f", &(li->load1), &(li->load5),
+ &(li->load15));
+ fclose(procloadavg);
+
+ return li;
+}
+
+static gchar *
+computer_get_formatted_loadavg()
+{
+ LoadInfo *li;
+ gchar *tmp;
+
+ li = computer_get_loadinfo();
+
+ tmp =
+ g_strdup_printf("%.2f, %.2f, %.2f", li->load1, li->load5,
+ li->load15);
+
+ g_free(li);
+ return tmp;
+}
diff --git a/arch/linux/common/.svn/text-base/memory.h.svn-base b/arch/linux/common/.svn/text-base/memory.h.svn-base
new file mode 100644
index 00000000..def4cc1d
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/memory.h.svn-base
@@ -0,0 +1,56 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static MemoryInfo *
+computer_get_memory(void)
+{
+ MemoryInfo *mi;
+ FILE *procmem;
+ gchar buffer[128];
+
+ procmem = fopen("/proc/meminfo", "r");
+ if (!procmem)
+ return NULL;
+ mi = g_new0(MemoryInfo, 1);
+
+ while (fgets(buffer, 128, procmem)) {
+ gchar **tmp = g_strsplit(buffer, ":", 2);
+
+ tmp[0] = g_strstrip(tmp[0]);
+ tmp[1] = g_strstrip(tmp[1]);
+
+ get_int("MemTotal", mi->total);
+ get_int("MemFree", mi->free);
+ get_int("Cached", mi->cached);
+
+ g_strfreev(tmp);
+ }
+ fclose(procmem);
+
+ mi->used = mi->total - mi->free;
+
+ mi->total /= 1000;
+ mi->cached /= 1000;
+ mi->used /= 1000;
+ mi->free /= 1000;
+
+ mi->used -= mi->cached;
+ mi->ratio = 1 - (gdouble) mi->used / mi->total;
+
+ return mi;
+}
diff --git a/arch/linux/common/.svn/text-base/modules.h.svn-base b/arch/linux/common/.svn/text-base/modules.h.svn-base
new file mode 100644
index 00000000..69f7ebd6
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/modules.h.svn-base
@@ -0,0 +1,129 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+void
+scan_modules(void)
+{
+ FILE *lsmod;
+ gchar buffer[1024];
+
+ lsmod = popen("/sbin/lsmod", "r");
+ if (!lsmod)
+ return;
+
+ fgets(buffer, 1024, lsmod); /* Discards the first line */
+
+ while (fgets(buffer, 1024, lsmod)) {
+ gchar *buf, *strmodule, *hashkey;
+ gchar *author = NULL,
+ *description = NULL,
+ *license = NULL,
+ *deps = NULL, *vermagic = NULL, *filename = NULL, modname[64];
+ FILE *modi;
+ glong memory;
+
+ shell_status_pulse();
+
+ buf = buffer;
+
+ sscanf(buf, "%s %ld", modname, &memory);
+
+ hashkey = g_strdup_printf("MOD%s", modname);
+ buf = g_strdup_printf("/sbin/modinfo %s", modname);
+
+ modi = popen(buf, "r");
+ while (fgets(buffer, 1024, modi)) {
+ gchar **tmp = g_strsplit(buffer, ":", 2);
+
+ GET_STR("author", author);
+ GET_STR("description", description);
+ GET_STR("license", license);
+ GET_STR("depends", deps);
+ GET_STR("vermagic", vermagic);
+ GET_STR("filename", filename);
+
+ g_strfreev(tmp);
+ }
+ pclose(modi);
+ g_free(buf);
+
+ /* old modutils includes quotes in some strings; strip them */
+ /*remove_quotes(modname);
+ remove_quotes(description);
+ remove_quotes(vermagic);
+ remove_quotes(author);
+ remove_quotes(license); */
+
+ /* old modutils displays <none> when there's no value for a
+ given field; this is not desirable in the module name
+ display, so change it to an empty string */
+ if (description && !strcmp(description, "&lt;none&gt;")) {
+ g_free(description);
+ description = g_strdup("");
+ }
+
+ /* append this module to the list of modules */
+ module_list = g_strdup_printf("%s$%s$%s=%s\n",
+ module_list,
+ hashkey,
+ modname,
+ description ? description : "");
+
+#define NONE_IF_NULL(var) (var) ? (var) : "N/A"
+
+ /* create the module information string */
+ strmodule = g_strdup_printf("[Module Information]\n"
+ "Path=%s\n"
+ "Used Memory=%.2fKiB\n"
+ "[Description]\n"
+ "Name=%s\n"
+ "Description=%s\n"
+ "Version Magic=%s\n"
+ "[Copyright]\n"
+ "Author=%s\n"
+ "License=%s\n",
+ NONE_IF_NULL(filename),
+ memory / 1024.0,
+ NONE_IF_NULL(modname),
+ NONE_IF_NULL(description),
+ NONE_IF_NULL(vermagic),
+ NONE_IF_NULL(author),
+ NONE_IF_NULL(license));
+
+ /* if there are dependencies, append them to that string */
+ if (deps && strlen(deps)) {
+ gchar **tmp = g_strsplit(deps, ",", 0);
+
+ strmodule = g_strconcat(strmodule,
+ "\n[Dependencies]\n",
+ g_strjoinv("=\n", tmp),
+ "=\n", NULL);
+ g_strfreev(tmp);
+ g_free(deps);
+ }
+
+ g_hash_table_insert(devices, hashkey, strmodule);
+
+ g_free(license);
+ g_free(description);
+ g_free(author);
+ g_free(vermagic);
+ g_free(filename);
+ }
+ pclose(lsmod);
+}
diff --git a/arch/linux/common/.svn/text-base/net.h.svn-base b/arch/linux/common/.svn/text-base/net.h.svn-base
new file mode 100644
index 00000000..87e7e59b
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/net.h.svn-base
@@ -0,0 +1,203 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static gchar *network_interfaces = NULL;
+
+#include <sys/ioctl.h>
+#include <net/if.h>
+#include <netinet/in.h>
+#include <linux/sockios.h>
+#include <sys/socket.h>
+
+typedef struct _NetInfo NetInfo;
+struct _NetInfo {
+ char name[16];
+ int mtu;
+ unsigned char mac[8];
+};
+
+
+void get_net_info(char *if_name, NetInfo *netinfo)
+{
+ struct ifreq ifr;
+ int fd;
+
+ fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
+
+ strcpy(ifr.ifr_name, if_name);
+ strcpy(netinfo->name, if_name);
+
+ if (ioctl(fd, SIOCGIFMTU, &ifr) < 0) {
+ netinfo->mtu = 0;
+ } else {
+ netinfo->mtu = ifr.ifr_mtu;
+ }
+
+ strcpy(ifr.ifr_name, if_name);
+ if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) {
+ memset(netinfo->mac, 0, 8);
+ } else {
+ memcpy(netinfo->mac, ifr.ifr_ifru.ifru_hwaddr.sa_data, 8);
+ }
+
+ shutdown(fd, 0);
+}
+
+static struct {
+ char *type;
+ char *label;
+} netdev2type[] = {
+ { "eth", "Ethernet" },
+ { "lo", "Loopback" },
+ { "ppp", "Point-to-Point" },
+ { "ath", "Wireless" },
+ { "wlan", "Wireless" },
+ { "tun", "Virtual Point-to-Point (TUN)" },
+ { "tap", "Ethernet (TAP)" },
+ { "plip", "Parallel Line Internet Protocol" },
+ { "irlan", "Infrared" },
+ { "slip", "Serial Line Internet Protocol" },
+ { "isdn", "Integrated Services Digital Network" },
+ { "sit", "IPv6-over-IPv4 Tunnel" },
+ { "vmnet8", "VMWare Virtual Network Interface (NAT)" },
+ { "vmnet", "VMWare Virtual Network Interface" },
+ { NULL, "Unknown" },
+};
+
+static const gchar *
+net_get_iface_type(gchar *name)
+{
+ int i;
+
+ for (i = 0; netdev2type[i].type; i++) {
+ if (g_str_has_prefix(name, netdev2type[i].type))
+ break;
+ }
+
+ return netdev2type[i].label;
+}
+
+static gboolean
+remove_net_devices(gpointer key, gpointer value, gpointer data)
+{
+ if (!strncmp((gchar *) key, "NET", 4)) {
+ g_free((gchar *) key);
+ g_free((GtkTreeIter *) value);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void
+scan_net_interfaces_24(void)
+{
+ FILE *proc_net;
+ NetInfo ni;
+ gchar buffer[256];
+ gchar *devid, *detailed;
+ gulong recv_bytes;
+ gulong recv_errors;
+ gulong recv_packets;
+
+ gulong trans_bytes;
+ gulong trans_errors;
+ gulong trans_packets;
+
+ if (!g_file_test("/proc/net/dev", G_FILE_TEST_EXISTS)) {
+ if (network_interfaces) {
+ g_free(network_interfaces);
+ network_interfaces = g_strdup("[Network Interfaces]\n"
+ "None found=\n");
+ }
+
+ return;
+ }
+
+ if (network_interfaces) {
+ g_free(network_interfaces);
+ }
+
+ network_interfaces = g_strdup("[Network Interfaces]\n");
+
+ proc_net = fopen("/proc/net/dev", "r");
+ while (fgets(buffer, 256, proc_net)) {
+ if (strchr(buffer, ':')) {
+ gint trash;
+ gchar ifacename[16];
+ gchar *buf = buffer;
+ gint i;
+
+ buf = g_strstrip(buf);
+
+ memset(ifacename, 0, 16);
+
+ for (i = 0; buffer[i] != ':' && i < 16; i++) {
+ ifacename[i] = buffer[i];
+ }
+
+ buf = strchr(buf, ':') + 1;
+
+ /* iface: bytes packets errs drop fifo frame compressed multicast */
+ sscanf(buf, "%ld %ld %ld %d %d %d %d %d %ld %ld %ld",
+ &recv_bytes, &recv_packets,
+ &recv_errors, &trash, &trash, &trash, &trash,
+ &trash, &trans_bytes, &trans_packets,
+ &trans_errors);
+
+ gfloat recv_mb = recv_bytes / 1048576.0;
+ gfloat trans_mb = trans_bytes / 1048576.0;
+
+ devid = g_strdup_printf("NET%s", ifacename);
+ network_interfaces = g_strdup_printf("%s$%s$%s=Sent %.2fMiB, received %.2fMiB\n",
+ network_interfaces,
+ devid,
+ ifacename,
+ trans_mb,
+ recv_mb);
+
+ get_net_info(ifacename, &ni);
+ detailed = g_strdup_printf("[Network Adapter Properties]\n"
+ "Interface Type=%s\n"
+ "Hardware Address=%02x:%02x:%02x:%02x:%02x:%02x\n"
+ "MTU=%d\n"
+ "Bytes Sent=%ld (%.2fMiB)\n"
+ "Bytes Received=%ld (%.2fMiB)\n",
+ net_get_iface_type(ifacename),
+ ni.mac[0], ni.mac[1],
+ ni.mac[2], ni.mac[3],
+ ni.mac[4], ni.mac[5],
+ ni.mtu,
+ recv_bytes, recv_mb,
+ trans_bytes, trans_mb);
+ g_hash_table_insert(moreinfo, devid, detailed);
+ }
+ }
+ fclose(proc_net);
+}
+
+static void
+scan_net_interfaces(void)
+{
+ /* FIXME: See if we're running Linux 2.6 and if /sys is mounted, then use
+ that instead of /proc/net/dev */
+
+ /* remove old devices from global device table */
+ g_hash_table_foreach_remove(moreinfo, remove_net_devices, NULL);
+
+ scan_net_interfaces_24();
+}
diff --git a/arch/linux/common/.svn/text-base/nfs.h.svn-base b/arch/linux/common/.svn/text-base/nfs.h.svn-base
new file mode 100644
index 00000000..5ae22797
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/nfs.h.svn-base
@@ -0,0 +1,29 @@
+static gchar *nfs_shares_list = NULL;
+void
+scan_nfs_shared_directories(void)
+{
+ FILE *exports;
+ gchar buf[512];
+
+ if (nfs_shares_list) {
+ g_free(nfs_shares_list);
+ }
+
+ nfs_shares_list = g_strdup("");
+
+ exports = fopen("/etc/exports", "r");
+ if (!exports)
+ return;
+
+ while (fgets(buf, 512, exports)) {
+ if (buf[0] != '/')
+ continue;
+
+ strend(buf, ' ');
+ strend(buf, '\t');
+
+ nfs_shares_list = g_strconcat(nfs_shares_list, buf, "=\n", NULL);
+ }
+ fclose(exports);
+}
+
diff --git a/arch/linux/common/.svn/text-base/os.h.svn-base b/arch/linux/common/.svn/text-base/os.h.svn-base
new file mode 100644
index 00000000..0f7b59e3
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/os.h.svn-base
@@ -0,0 +1,203 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static gchar *
+get_libc_version(void)
+{
+ FILE *libc;
+ gchar buf[256], *tmp, *p;
+
+ libc = popen("/lib/libc.so.6", "r");
+ if (!libc) goto err;
+
+ fgets(buf, 256, libc);
+ if (pclose(libc)) goto err;
+
+ tmp = strstr(buf, "version ");
+ if (!tmp) goto err;
+
+ p = strchr(tmp, ',');
+ if (p) *p = '\0';
+ else goto err;
+
+ return g_strdup_printf("GNU C Library version %s (%sstable)",
+ strchr(tmp, ' ') + 1,
+ strstr(buf, " stable ") ? "" : "un");
+ err:
+ return g_strdup("Unknown");
+}
+
+static gchar *
+get_os_compiled_date(void)
+{
+ FILE *procversion;
+ gchar buf[512];
+
+ procversion = fopen("/proc/sys/kernel/version", "r");
+ if (!procversion)
+ return g_strdup("Unknown");
+
+ fgets(buf, 512, procversion);
+ fclose(procversion);
+
+ return g_strdup(buf);
+}
+
+
+#include <gdk/gdkx.h>
+
+void
+detect_desktop_environment(OperatingSystem * os)
+{
+ const gchar *tmp = g_getenv("GNOME_DESKTOP_SESSION_ID");
+ FILE *version;
+ int maj, min;
+
+ if (tmp) {
+ /* FIXME: this might not be true, as the gnome-panel in path
+ may not be the one that's running.
+ see where the user's running panel is and run *that* to
+ obtain the version. */
+ version = popen("gnome-panel --version", "r");
+ if (version) {
+ fscanf(version, "Gnome gnome-panel %d.%d", &maj, &min);
+ if (pclose(version))
+ goto unknown;
+ } else {
+ goto unknown;
+ }
+
+ os->desktop =
+ g_strdup_printf("GNOME %d.%d (session name: %s)", maj, min,
+ tmp);
+ } else if (g_getenv("KDE_FULL_SESSION")) {
+ version = popen("kcontrol --version", "r");
+ if (version) {
+ char buf[32];
+
+ fgets(buf, 32, version);
+
+ fscanf(version, "KDE: %d.%d", &maj, &min);
+ if (pclose(version))
+ goto unknown;
+ } else {
+ goto unknown;
+ }
+
+ os->desktop = g_strdup_printf("KDE %d.%d", maj, min);
+ } else {
+ unknown:
+ if (!g_getenv("DISPLAY")) {
+ os->desktop = g_strdup("Terminal");
+ } else {
+ const gchar *windowman;
+ GdkScreen *screen = gdk_screen_get_default();
+
+ windowman = gdk_x11_screen_get_window_manager_name(screen);
+
+ if (g_str_equal(windowman, "Xfwm4")) {
+ /* FIXME: check if xprop -root | grep XFCE_DESKTOP_WINDOW
+ is defined */
+ os->desktop = g_strdup("XFCE 4");
+ } else {
+ os->desktop = g_strdup_printf("Unknown (Window Manager: %s)",
+ windowman);
+ }
+ }
+ }
+}
+
+static OperatingSystem *
+computer_get_os(void)
+{
+ struct utsname utsbuf;
+ OperatingSystem *os;
+ int i;
+
+ os = g_new0(OperatingSystem, 1);
+
+ os->compiled_date = get_os_compiled_date();
+
+ /* Attempt to get the Distribution name; try using /etc/lsb-release first,
+ then doing the legacy method (checking for /etc/$DISTRO-release files) */
+ if (g_file_test("/etc/lsb-release", G_FILE_TEST_EXISTS)) {
+ FILE *release;
+ gchar buffer[128];
+
+ release = popen("lsb_release -d", "r");
+ fgets(buffer, 128, release);
+ pclose(release);
+
+ os->distro = buffer;
+ os->distro = g_strdup(os->distro + strlen("Description:\t"));
+ }
+
+ for (i = 0;; i++) {
+ if (distro_db[i].file == NULL) {
+ os->distrocode = g_strdup("unk");
+ os->distro = g_strdup("Unknown distribution");
+ break;
+ }
+
+ if (g_file_test(distro_db[i].file, G_FILE_TEST_EXISTS)) {
+
+
+ FILE *distro_ver;
+ char buf[128];
+
+ distro_ver = fopen(distro_db[i].file, "r");
+ fgets(buf, 128, distro_ver);
+ fclose(distro_ver);
+
+ buf[strlen(buf) - 1] = 0;
+
+ if (!os->distro) {
+ /*
+ * HACK: Some Debian systems doesn't include
+ * the distribuition name in /etc/debian_release,
+ * so add them here.
+ */
+ if (!strncmp(distro_db[i].codename, "deb", 3) &&
+ ((buf[0] >= '0' && buf[0] <= '9') || buf[0] != 'D')) {
+ os->distro = g_strdup_printf
+ ("Debian GNU/Linux %s", buf);
+ } else {
+ os->distro = g_strdup(buf);
+ }
+ }
+ os->distrocode = g_strdup(distro_db[i].codename);
+
+ break;
+ }
+ }
+
+ /* Kernel and hostname info */
+ uname(&utsbuf);
+ os->kernel = g_strdup_printf("%s %s (%s)", utsbuf.sysname,
+ utsbuf.release, utsbuf.machine);
+ os->hostname = g_strdup(utsbuf.nodename);
+ os->language = g_strdup(g_getenv("LC_MESSAGES"));
+ os->homedir = g_strdup(g_get_home_dir());
+ os->username = g_strdup_printf("%s (%s)",
+ g_get_user_name(), g_get_real_name());
+ os->libc = get_libc_version();
+ scan_languages(os);
+ detect_desktop_environment(os);
+
+ return os;
+}
diff --git a/arch/linux/common/.svn/text-base/pci.h.svn-base b/arch/linux/common/.svn/text-base/pci.h.svn-base
new file mode 100644
index 00000000..f8c9d319
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/pci.h.svn-base
@@ -0,0 +1,190 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+void
+scan_pci(void)
+{
+ FILE *lspci;
+ gchar buffer[256], *buf, *strhash = NULL, *strdevice = NULL;
+ gchar *category = NULL, *name = NULL;
+ gint n = 0;
+
+ //if (g_file_test("/usr/bin/gksudo", G_FILE_TEST_EXISTS)) {
+ // lspci = popen("gksudo '/bin/lspci -v'", "r");
+ //} else {
+ lspci = popen(LSPCI, "r");
+ //}
+
+ if (!lspci) {
+ return;
+ }
+
+ gchar *icon;
+
+ int x = 0; /* unique Memory, Capability and I/O port */
+ while (fgets(buffer, 256, lspci)) {
+ buf = g_strstrip(buffer);
+
+ if (!strncmp(buf, "Flags", 5)) {
+ gint irq = 0, freq = 0, latency = 0, i;
+ gchar **list;
+ gboolean bus_master;
+
+ buf += 7;
+
+ bus_master = FALSE;
+
+ list = g_strsplit(buf, ", ", 10);
+ for (i = 0; i <= 10; i++) {
+ if (!list[i])
+ break;
+
+ if (!strncmp(list[i], "IRQ", 3))
+ sscanf(list[i], "IRQ %d", &irq);
+ else if (strstr(list[i], "Mhz"))
+ sscanf(list[i], "%dMhz", &freq);
+ else if (!strncmp(list[i], "bus master", 10))
+ bus_master = TRUE;
+ else if (!strncmp(list[i], "latency", 7))
+ sscanf(list[i], "latency %d", &latency);
+ }
+ g_strfreev(list);
+
+ if (irq)
+ strdevice = g_strdup_printf("%sIRQ=%d\n", strdevice, irq);
+ if (freq)
+ strdevice =
+ g_strdup_printf("%sFrequency=%dMHz\n", strdevice,
+ freq);
+ if (latency)
+ strdevice =
+ g_strdup_printf("%sLatency=%d\n", strdevice, latency);
+
+ strdevice =
+ g_strdup_printf("%sBus Master=%s\n", strdevice,
+ bus_master ? "Yes" : "No");
+ } else if (!strncmp(buf, "Subsystem", 9)) {
+ WALK_UNTIL(' ');
+ buf++;
+ strdevice =
+ g_strdup_printf("%sOEM Vendor=%s\n", strdevice, buf);
+ } else if (!strncmp(buf, "Capabilities", 12)
+ && !strstr(buf, "only to root") &&
+ !strstr(buf, "access denied")) {
+ WALK_UNTIL(' ');
+ WALK_UNTIL(']');
+ buf++;
+ strdevice =
+ g_strdup_printf("%sCapability#%d=%s\n", strdevice, ++x,
+ buf);
+ } else if (!strncmp(buf, "Memory at", 9) && strstr(buf, "[size=")) {
+ gint mem;
+ gchar unit;
+ gboolean prefetch;
+ gboolean _32bit;
+
+ prefetch = strstr(buf, "non-prefetchable") ? FALSE : TRUE;
+ _32bit = strstr(buf, "32-bit") ? TRUE : FALSE;
+
+ WALK_UNTIL('[');
+ sscanf(buf, "[size=%d%c", &mem, &unit);
+
+ strdevice = g_strdup_printf("%sMemory#%d=%d%cB (%s%s)\n",
+ strdevice, ++x,
+ mem,
+ (unit == ']') ? ' ' : unit,
+ _32bit ? "32-bit, " : "",
+ prefetch ? "prefetchable" :
+ "non-prefetchable");
+
+ } else if (!strncmp(buf, "I/O", 3)) {
+ guint io_addr, io_size;
+
+ sscanf(buf, "I/O ports at %x [size=%d]", &io_addr, &io_size);
+
+ strdevice =
+ g_strdup_printf("%sI/O ports at#%d=0x%x - 0x%x\n",
+ strdevice, ++x, io_addr,
+ io_addr + io_size);
+ } else if ((buf[0] >= '0' && buf[0] <= '9') && (buf[4] == ':' || buf[2] == ':')) {
+ gint bus, device, function, domain;
+ gpointer start, end;
+
+ if (strdevice != NULL && strhash != NULL) {
+ g_hash_table_insert(devices, strhash, strdevice);
+ g_free(category);
+ g_free(name);
+ }
+
+ if (buf[4] == ':') {
+ sscanf(buf, "%x:%x:%x.%d", &domain, &bus, &device, &function);
+ } else {
+ /* lspci without domain field */
+ sscanf(buf, "%x:%x.%x", &bus, &device, &function);
+ domain = 0;
+ }
+
+ WALK_UNTIL(' ');
+
+ start = buf;
+
+ WALK_UNTIL(':');
+ end = buf + 1;
+ *buf = 0;
+
+ buf = start + 1;
+ category = g_strdup(buf);
+
+ buf = end;
+ start = buf;
+ WALK_UNTIL('(');
+ *buf = 0;
+ buf = start + 1;
+
+ if (strstr(category, "RAM memory")) icon = "mem";
+ else if (strstr(category, "Multimedia")) icon = "media";
+ else if (strstr(category, "USB")) icon = "usb";
+ else icon = "pci";
+
+ name = g_strdup(buf);
+
+ strhash = g_strdup_printf("PCI%d", n);
+ strdevice = g_strdup_printf("[Device Information]\n"
+ "Name=%s\n"
+ "Class=%s\n"
+ "Domain=%d\n"
+ "Bus, device, function=%d, %d, %d\n",
+ name, category, domain, bus,
+ device, function);
+ pci_list = g_strdup_printf("%s$PCI%d$%s=%s\n", pci_list, n, category,
+ name);
+
+ n++;
+ }
+ }
+
+ if (pclose(lspci)) {
+ /* error (no pci, perhaps?) */
+ pci_list = g_strconcat(pci_list, "No PCI devices found=\n", NULL);
+ } else if (strhash) {
+ /* insert the last device */
+ g_hash_table_insert(devices, strhash, strdevice);
+ g_free(category);
+ g_free(name);
+ }
+}
diff --git a/arch/linux/common/.svn/text-base/samba.h.svn-base b/arch/linux/common/.svn/text-base/samba.h.svn-base
new file mode 100644
index 00000000..5f5ecbe5
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/samba.h.svn-base
@@ -0,0 +1,80 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static gchar *smb_shares_list = NULL;
+void
+scan_samba_shared_directories(void)
+{
+ GKeyFile *keyfile;
+ GError *error = NULL;
+ gchar **groups;
+ gchar *smbconf;
+ gsize length;
+ gint i = 0;
+
+ if (smb_shares_list) {
+ g_free(smb_shares_list);
+ }
+
+ keyfile = g_key_file_new();
+
+ if (!g_file_get_contents("/etc/samba/smb.conf", &smbconf, &length, &error)) {
+ smb_shares_list = g_strdup("Cannot open /etc/samba/smb.conf=\n");
+ g_error_free(error);
+ goto cleanup;
+ }
+
+ gchar *_smbconf = smbconf;
+ for (; *_smbconf; _smbconf++)
+ if (*_smbconf == ';') *_smbconf = '\0';
+
+ if (!g_key_file_load_from_data(keyfile, smbconf, length, 0, &error)) {
+ smb_shares_list = g_strdup("Cannot parse smb.conf=\n");
+ g_error_free(error);
+ goto cleanup;
+ }
+
+ smb_shares_list = g_strdup("");
+
+ groups = g_key_file_get_groups(keyfile, NULL);
+ while (groups[i]) {
+ if (g_key_file_has_key(keyfile, groups[i], "path", NULL) &&
+ g_key_file_has_key(keyfile, groups[i], "available", NULL)) {
+
+ gchar *available = g_key_file_get_string(keyfile, groups[i], "available", NULL);
+
+ if (g_str_equal(available, "yes")) {
+ gchar *path = g_key_file_get_string(keyfile, groups[i], "path", NULL);
+ smb_shares_list = g_strconcat(smb_shares_list, groups[i], "=",
+ path, "\n", NULL);
+ g_free(path);
+ }
+
+ g_free(available);
+ }
+
+ i++;
+ }
+
+ g_strfreev(groups);
+
+ cleanup:
+ g_key_file_free(keyfile);
+ g_free(smbconf);
+}
+
diff --git a/arch/linux/common/.svn/text-base/sensors.h.svn-base b/arch/linux/common/.svn/text-base/sensors.h.svn-base
new file mode 100644
index 00000000..ef834de2
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/sensors.h.svn-base
@@ -0,0 +1,237 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static gchar *sensors = NULL;
+static GHashTable *sensor_labels = NULL;
+static GHashTable *sensor_compute = NULL;
+
+static void
+read_sensor_labels(gchar *driver)
+{
+ FILE *conf;
+ gchar buf[256], *line, *p;
+ gboolean lock = FALSE;
+ gint i;
+
+ sensor_labels = g_hash_table_new_full(g_str_hash, g_str_equal,
+ g_free, g_free);
+ sensor_compute = g_hash_table_new(g_str_hash, g_str_equal);
+
+ conf = fopen("/etc/sensors.conf", "r");
+ if (!conf)
+ return;
+
+ while (fgets(buf, 256, conf)) {
+ line = buf;
+
+ remove_linefeed(line);
+ strend(line, '#');
+
+ if (*line == '\0') {
+ continue;
+ } else if (lock && strstr(line, "label")) { /* label lines */
+ gchar **names = g_strsplit(strstr(line, "label") + 5, " ", 0);
+ gchar *name = NULL, *value = NULL;
+
+ for (i = 0; names[i]; i++) {
+ if (names[i][0] == '\0')
+ continue;
+
+ if (!name) name = g_strdup(names[i]);
+ else if (!value) value = g_strdup(names[i]);
+ else value = g_strconcat(value, " ", names[i], NULL);
+ }
+
+ remove_quotes(value);
+ g_hash_table_insert(sensor_labels, name, value);
+
+ g_strfreev(names);
+ } else if (lock && strstr(line, "ignore")) { /* ignore lines */
+ p = strstr(line, "ignore") + 6;
+ if (!strchr(p, ' '))
+ continue;
+
+ while (*p == ' ') p++;
+ g_hash_table_insert(sensor_labels, g_strdup(p), "ignore");
+ } else if (lock && strstr(line, "compute")) { /* compute lines */
+ gchar **formulas = g_strsplit(strstr(line, "compute") + 7, " ", 0);
+ gchar *name = NULL, *formula = NULL;
+
+ for (i = 0; formulas[i]; i++) {
+ if (formulas[i][0] == '\0')
+ continue;
+ if (formulas[i][0] == ',')
+ break;
+
+ if (!name) name = g_strdup(formulas[i]);
+ else if (!formula) formula = g_strdup(formulas[i]);
+ else formula = g_strconcat(formula, formulas[i], NULL);
+ }
+
+ g_strfreev(formulas);
+ g_hash_table_insert(sensor_compute, name, math_string_to_postfix(formula));
+ } else if (g_str_has_prefix(line, "chip")) { /* chip lines (delimiter) */
+ if (lock == FALSE) {
+ gchar **chips = g_strsplit(line, " ", 0);
+
+ for (i = 1; chips[i]; i++) {
+ strend(chips[i], '*');
+
+ if (g_str_has_prefix(driver, chips[i] + 1)) {
+ lock = TRUE;
+ break;
+ }
+ }
+
+ g_strfreev(chips);
+ } else {
+ break;
+ }
+ }
+ }
+
+ fclose(conf);
+}
+
+static gchar *
+get_sensor_label(gchar *sensor)
+{
+ gchar *ret;
+
+ ret = g_hash_table_lookup(sensor_labels, sensor);
+ if (!ret) ret = g_strdup(sensor);
+ else ret = g_strdup(ret);
+
+ return ret;
+}
+
+static float
+adjust_sensor(gchar *name, float value)
+{
+ GSList *postfix;
+
+ postfix = g_hash_table_lookup(sensor_compute, name);
+ if (!postfix) return value;
+
+ return math_postfix_eval(postfix, value);
+}
+
+static void
+read_sensors(void)
+{
+ gchar *path_hwmon, *path_sensor, *tmp, *driver, *name, *mon;
+ int hwmon, count;
+
+ if (sensors)
+ g_free(sensors);
+
+ hwmon = 0;
+ sensors = g_strdup("");
+
+ path_hwmon = g_strdup_printf("/sys/class/hwmon/hwmon%d/device/", hwmon);
+ while (g_file_test(path_hwmon, G_FILE_TEST_EXISTS)) {
+ tmp = g_strdup_printf("%sdriver", path_hwmon);
+ driver = g_file_read_link(tmp, NULL);
+ g_free(tmp);
+
+ tmp = g_path_get_basename(driver);
+ g_free(driver);
+ driver = tmp;
+
+ if (!sensor_labels) {
+ read_sensor_labels(driver);
+ }
+
+ sensors = g_strdup_printf("%s[Driver Info]\n"
+ "Name=%s\n", sensors, driver);
+
+ sensors = g_strconcat(sensors, "[Cooling Fans]\n", NULL);
+ for (count = 1; ; count++) {
+ path_sensor = g_strdup_printf("%sfan%d_input", path_hwmon, count);
+ if (!g_file_get_contents(path_sensor, &tmp, NULL, NULL)) {
+ g_free(path_sensor);
+ break;
+ }
+
+ mon = g_strdup_printf("fan%d", count);
+ name = get_sensor_label(mon);
+ if (!g_str_equal(name, "ignore")) {
+ sensors = g_strdup_printf("%s%s=%.0fRPM\n",
+ sensors, name,
+ adjust_sensor(mon, atof(tmp)));
+ }
+
+ g_free(name);
+ g_free(mon);
+ g_free(tmp);
+ g_free(path_sensor);
+ }
+
+ sensors = g_strconcat(sensors, "[Temperatures]\n", NULL);
+ for (count = 1; ; count++) {
+ path_sensor = g_strdup_printf("%stemp%d_input", path_hwmon, count);
+ if (!g_file_get_contents(path_sensor, &tmp, NULL, NULL)) {
+ g_free(path_sensor);
+ break;
+ }
+
+ mon = g_strdup_printf("temp%d", count);
+ name = get_sensor_label(mon);
+ if (!g_str_equal(name, "ignore")) {
+ sensors = g_strdup_printf("%s%s=%.2f\302\260C\n",
+ sensors, name,
+ adjust_sensor(mon, atof(tmp) / 1000.0));
+ }
+
+ g_free(tmp);
+ g_free(name);
+ g_free(path_sensor);
+ g_free(mon);
+ }
+
+ sensors = g_strconcat(sensors, "[Voltage Values]\n", NULL);
+ for (count = 0; ; count++) {
+ path_sensor = g_strdup_printf("%sin%d_input", path_hwmon, count);
+ if (!g_file_get_contents(path_sensor, &tmp, NULL, NULL)) {
+ g_free(path_sensor);
+ break;
+ }
+
+
+ mon = g_strdup_printf("in%d", count);
+ name = get_sensor_label(mon);
+ if (!g_str_equal(name, "ignore")) {
+ sensors = g_strdup_printf("%s%s=%.3fV\n",
+ sensors, name,
+ adjust_sensor(mon, atof(tmp) / 1000.0));
+ }
+
+ g_free(tmp);
+ g_free(mon);
+ g_free(name);
+ g_free(path_sensor);
+ }
+
+ g_free(path_hwmon);
+ g_free(driver);
+ path_hwmon = g_strdup_printf("/sys/class/hwmon/hwmon%d/device/", ++hwmon);
+ }
+
+ g_free(path_hwmon);
+}
+
diff --git a/arch/linux/common/.svn/text-base/storage.h.svn-base b/arch/linux/common/.svn/text-base/storage.h.svn-base
new file mode 100644
index 00000000..4fb682a9
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/storage.h.svn-base
@@ -0,0 +1,268 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static gchar *storage_icons = "";
+
+static gboolean
+remove_scsi_devices(gpointer key, gpointer value, gpointer data)
+{
+ if (!strncmp((gchar *) key, "SCSI", 4)) {
+ g_free((gchar *) key);
+ g_free((GtkTreeIter *) value);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+/* SCSI support by Pascal F.Martin <pascalmartin@earthlink.net> */
+void
+scan_scsi(void)
+{
+ FILE *proc_scsi;
+ gchar buffer[256], *buf;
+ gint n = 0;
+ gint scsi_controller;
+ gint scsi_channel;
+ gint scsi_id;
+ gint scsi_lun;
+ gchar *vendor = NULL, *revision = NULL, *model = NULL;
+
+ /* remove old devices from global device table */
+ g_hash_table_foreach_remove(devices, remove_scsi_devices, NULL);
+
+ if (!g_file_test("/proc/scsi/scsi", G_FILE_TEST_EXISTS))
+ return;
+
+ storage_list = g_strconcat(storage_list, "\n[SCSI Disks]\n", NULL);
+
+ proc_scsi = fopen("/proc/scsi/scsi", "r");
+ while (fgets(buffer, 256, proc_scsi)) {
+ buf = g_strstrip(buffer);
+ if (!strncmp(buf, "Host: scsi", 10)) {
+ sscanf(buf,
+ "Host: scsi%d Channel: %d Id: %d Lun: %d",
+ &scsi_controller, &scsi_channel, &scsi_id, &scsi_lun);
+
+ n++;
+ } else if (!strncmp(buf, "Vendor: ", 8)) {
+ char *p;
+ char *rev = strstr(buf, "Rev: ");
+
+ model = strstr(buf, "Model: ");
+
+ if (model == NULL) {
+ model = buf + strlen(buf);
+ }
+ p = model;
+ while (*(--p) == ' ');
+ *(++p) = 0;
+ vendor = g_strdup(buf + 8);
+
+ if (rev != NULL) {
+ revision = g_strdup(rev + 5);
+ } else {
+ rev = model + strlen(model);
+ }
+ p = rev;
+ while (*(--p) == ' ');
+ *(++p) = 0;
+ model = g_strdup_printf("%s %s", vendor, model + 7);
+
+ } else if (!strncmp(buf, "Type: ", 8)) {
+ char *p = strstr(buf, "ANSI SCSI revi");
+ gchar *type = NULL, *icon = NULL;
+
+ if (p != NULL) {
+ while (*(--p) == ' ');
+ *(++p) = 0;
+
+ static struct {
+ char *type;
+ char *label;
+ char *icon;
+ } type2icon[] = {
+ { "Direct-Access", "Disk", "hdd"},
+ { "Sequential-Access", "Tape", "tape"},
+ { "Printer", "Printer", "lpr"},
+ { "WORM", "CD-ROM", "cd"},
+ { "CD-ROM", "CD-ROM", "cd"},
+ { "Scanner", "Scanner", "scanner"},
+ { NULL, "Generic", "scsi"}
+ };
+ int i;
+
+ for (i = 0; type2icon[i].type != NULL; i++)
+ if (!strcmp(buf + 8, type2icon[i].type))
+ break;
+
+ type = type2icon[i].label;
+ icon = type2icon[i].icon;
+ }
+
+ gchar *devid = g_strdup_printf("SCSI%d", n);
+ storage_list = g_strdup_printf("%s$%s$%s=\n", storage_list, devid, model);
+ storage_icons = g_strdup_printf("%sIcon$%s$%s=%s.png\n", storage_icons, devid, model, icon);
+
+ gchar *strhash = g_strdup_printf("[Device Information]\n"
+ "Model=%s\n"
+ "Type=%s\n"
+ "Revision=%s\n"
+ "[SCSI Controller]\n"
+ "Controller=scsi%d\n"
+ "Channel=%d\n"
+ "ID=%d\n" "LUN=%d\n",
+ model,
+ type,
+ revision,
+ scsi_controller,
+ scsi_channel,
+ scsi_id,
+ scsi_lun);
+ g_hash_table_insert(devices, devid, strhash);
+
+ g_free(model);
+ g_free(revision);
+ g_free(vendor);
+ }
+ }
+ fclose(proc_scsi);
+}
+
+static gboolean
+remove_ide_devices(gpointer key, gpointer value, gpointer data)
+{
+ if (!strncmp((gchar *) key, "IDE", 3)) {
+ g_free((gchar *) key);
+ g_free((gchar *) value);
+
+ return TRUE;
+ }
+ return FALSE;
+}
+
+
+void
+scan_ide(void)
+{
+ FILE *proc_ide;
+ gchar *device, iface, *model, *media, *pgeometry = NULL, *lgeometry =
+ NULL;
+ gint n = 0, i = 0, cache;
+
+ /* remove old devices from global device table */
+ g_hash_table_foreach_remove(devices, remove_ide_devices, NULL);
+
+ storage_list = g_strdup_printf("%s\n[IDE Disks]\n", storage_list);
+
+ iface = 'a';
+ for (i = 0; i <= 16; i++) {
+ device = g_strdup_printf("/proc/ide/hd%c/model", iface);
+ if (g_file_test(device, G_FILE_TEST_EXISTS)) {
+ gchar buf[64];
+
+ cache = 0;
+
+ proc_ide = fopen(device, "r");
+ fgets(buf, 64, proc_ide);
+ fclose(proc_ide);
+
+ buf[strlen(buf) - 1] = 0;
+
+ model = g_strdup(buf);
+
+ g_free(device);
+
+ device = g_strdup_printf("/proc/ide/hd%c/media", iface);
+ proc_ide = fopen(device, "r");
+ fgets(buf, 64, proc_ide);
+ fclose(proc_ide);
+ buf[strlen(buf) - 1] = 0;
+
+ media = g_strdup(buf);
+
+ g_free(device);
+
+ device = g_strdup_printf("/proc/ide/hd%c/cache", iface);
+ if (g_file_test(device, G_FILE_TEST_EXISTS)) {
+ proc_ide = fopen(device, "r");
+ fscanf(proc_ide, "%d", &cache);
+ fclose(proc_ide);
+ }
+ g_free(device);
+
+ device = g_strdup_printf("/proc/ide/hd%c/geometry", iface);
+ if (g_file_test(device, G_FILE_TEST_EXISTS)) {
+ gchar *tmp;
+
+ proc_ide = fopen(device, "r");
+
+ fgets(buf, 64, proc_ide);
+ for (tmp = buf; *tmp; tmp++) {
+ if (*tmp >= '0' && *tmp <= '9')
+ break;
+ }
+
+ pgeometry = g_strdup(g_strstrip(tmp));
+
+ fgets(buf, 64, proc_ide);
+ for (tmp = buf; *tmp; tmp++) {
+ if (*tmp >= '0' && *tmp <= '9')
+ break;
+ }
+ lgeometry = g_strdup(g_strstrip(tmp));
+
+ fclose(proc_ide);
+ }
+ g_free(device);
+
+ n++;
+
+ gchar *devid = g_strdup_printf("IDE%d", n);
+
+ storage_list = g_strdup_printf("%s$%s$%s=\n", storage_list,
+ devid, model);
+ storage_icons = g_strdup_printf("%sIcon$%s$%s=%s.png\n", storage_icons, devid,
+ model, g_str_equal(media, "cdrom") ? \
+ "cdrom" : "hdd");
+
+ gchar *strhash = g_strdup_printf("[Device Information]\n"
+ "Model=%s\n"
+ "Device Name=hd%c\n"
+ "Media=%s\n" "Cache=%dkb\n",
+ model, iface, media, cache);
+ if (pgeometry && lgeometry)
+ strhash = g_strdup_printf("%s[Geometry]\n"
+ "Physical=%s\n"
+ "Logical=%s\n",
+ strhash, pgeometry, lgeometry);
+
+ g_hash_table_insert(devices, devid, strhash);
+
+ g_free(model);
+ model = "";
+
+ g_free(pgeometry);
+ pgeometry = NULL;
+ g_free(lgeometry);
+ lgeometry = NULL;
+ } else
+ g_free(device);
+
+ iface++;
+ }
+}
diff --git a/arch/linux/common/.svn/text-base/uptime.h.svn-base b/arch/linux/common/.svn/text-base/uptime.h.svn-base
new file mode 100644
index 00000000..cf339bf3
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/uptime.h.svn-base
@@ -0,0 +1,75 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static UptimeInfo *
+computer_get_uptime(void)
+{
+ UptimeInfo *ui = g_new0(UptimeInfo, 1);
+ FILE *procuptime;
+ gulong minutes;
+
+ if ((procuptime = fopen("/proc/uptime", "r")) != NULL) {
+ fscanf(procuptime, "%lu", &minutes);
+ ui->minutes = minutes / 60;
+ fclose(procuptime);
+ } else {
+ return NULL;
+ }
+
+ ui->hours = ui->minutes / 60;
+ ui->minutes %= 60;
+ ui->days = ui->hours / 24;
+ ui->hours %= 24;
+
+ return ui;
+}
+
+static gchar *
+computer_get_formatted_uptime()
+{
+ UptimeInfo *ui;
+ gchar *tmp;
+
+ ui = computer_get_uptime();
+
+ /* FIXME: Use ngettext */
+#define plural(x) ((x > 1) ? "s" : "")
+
+
+ if (ui->days < 1) {
+ if (ui->hours < 1) {
+ tmp =
+ g_strdup_printf("%d minute%s", ui->minutes,
+ plural(ui->minutes));
+ } else {
+ tmp =
+ g_strdup_printf("%d hour%s, %d minute%s", ui->hours,
+ plural(ui->hours), ui->minutes,
+ plural(ui->minutes));
+ }
+ } else {
+ tmp =
+ g_strdup_printf("%d day%s, %d hour%s and %d minute%s",
+ ui->days, plural(ui->days), ui->hours,
+ plural(ui->hours), ui->minutes,
+ plural(ui->minutes));
+ }
+
+ g_free(ui);
+ return tmp;
+}
diff --git a/arch/linux/common/.svn/text-base/usb.h.svn-base b/arch/linux/common/.svn/text-base/usb.h.svn-base
new file mode 100644
index 00000000..a52be2cb
--- /dev/null
+++ b/arch/linux/common/.svn/text-base/usb.h.svn-base
@@ -0,0 +1,132 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static gboolean
+remove_usb_devices(gpointer key, gpointer value, gpointer data)
+{
+ if (!strncmp((gchar *) key, "USB", 3)) {
+ GtkTreeIter *iter = (GtkTreeIter *) data;
+
+ g_free((gchar *) value);
+ g_free(iter);
+
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static gchar *usb_list = NULL;
+void
+scan_usb(void)
+{
+ FILE *dev;
+ gchar buffer[128];
+ gchar *tmp, *manuf = NULL, *product = NULL, *mxpwr;
+ gint bus, level, port, classid, trash;
+ gint vendor, prodid;
+ gfloat ver, rev, speed;
+ int n = 0;
+
+ dev = fopen("/proc/bus/usb/devices", "r");
+ if (!dev)
+ return;
+
+ if (usb_list) {
+ g_hash_table_foreach_remove(devices, remove_usb_devices, NULL);
+ g_free(usb_list);
+ }
+ usb_list = g_strdup("");
+
+ while (fgets(buffer, 128, dev)) {
+ tmp = buffer;
+
+ switch (*tmp) {
+ case 'T':
+ sscanf(tmp,
+ "T: Bus=%d Lev=%d Prnt=%d Port=%d Cnt=%d Dev#=%d Spd=%f",
+ &bus, &level, &trash, &port, &trash, &trash, &speed);
+ break;
+ case 'D':
+ sscanf(tmp, "D: Ver=%f Cls=%x", &ver, &classid);
+ break;
+ case 'P':
+ sscanf(tmp, "P: Vendor=%x ProdID=%x Rev=%f",
+ &vendor, &prodid, &rev);
+ break;
+ case 'S':
+ if (strstr(tmp, "Manufacturer=")) {
+ manuf = g_strdup(strchr(tmp, '=') + 1);
+ remove_linefeed(manuf);
+ } else if (strstr(tmp, "Product=")) {
+ product = g_strdup(strchr(tmp, '=') + 1);
+ remove_linefeed(product);
+ }
+ break;
+ case 'C':
+ mxpwr = strstr(buffer, "MxPwr=") + 6;
+
+ tmp = g_strdup_printf("USB%d", ++n);
+
+ if (*product == '\0') {
+ g_free(product);
+ if (classid == 9) {
+ product = g_strdup_printf("USB %.2f Hub", ver);
+ } else {
+ product = g_strdup_printf("Unknown USB %.2f Device (class %d)",
+ ver, classid);
+ }
+ }
+
+
+ if (classid == 9) { /* hub */
+ usb_list = g_strdup_printf("%s[%s#%d]\n",
+ usb_list, product, n);
+ } else { /* everything else */
+ usb_list = g_strdup_printf("%s$%s$%s=\n",
+ usb_list, tmp, product);
+
+ gchar *strhash = g_strdup_printf("[Device Information]\n"
+ "Product=%s\n"
+ "Manufacturer=%s\n"
+ "[Port #%d]\n"
+ "Speed=%.2fMbit/s\n"
+ "Max Current=%s\n"
+ "[Misc]\n"
+ "USB Version=%.2f\n"
+ "Revision=%.2f\n"
+ "Class=0x%x\n"
+ "Vendor=0x%x\n"
+ "Product ID=0x%x\n"
+ "Bus=%d\n" "Level=%d\n",
+ product, manuf,
+ port, speed, mxpwr,
+ ver, rev, classid,
+ vendor, prodid, bus, level);
+
+ g_hash_table_insert(devices, tmp, strhash);
+ }
+
+ g_free(manuf);
+ g_free(product);
+ manuf = g_strdup("");
+ product = g_strdup("");
+ }
+ }
+
+ fclose(dev);
+}
diff --git a/arch/linux/common/filesystem.h b/arch/linux/common/filesystem.h
index 37e5a730..79784c8f 100644
--- a/arch/linux/common/filesystem.h
+++ b/arch/linux/common/filesystem.h
@@ -43,7 +43,7 @@ static void
scan_filesystems(void)
{
FILE *mtab;
- gchar buf[128];
+ gchar buf[1024];
struct statfs sfs;
g_free(fs_list);
@@ -53,49 +53,48 @@ scan_filesystems(void)
if (!mtab)
return;
- while (fgets(buf, 128, mtab)) {
+ while (fgets(buf, 1024, mtab)) {
gfloat size, used, avail;
gchar **tmp;
tmp = g_strsplit(buf, " ", 0);
- statfs(tmp[1], &sfs);
+ if (!statfs(tmp[1], &sfs)) {
+ size = (float) sfs.f_bsize * (float) sfs.f_blocks;
+ avail = (float) sfs.f_bsize * (float) sfs.f_bavail;
+ used = size - avail;
- size = (float) sfs.f_bsize * (float) sfs.f_blocks;
- avail = (float) sfs.f_bsize * (float) sfs.f_bavail;
- used = size - avail;
+ gchar *strsize = fs_human_readable(size),
+ *stravail = fs_human_readable(avail),
+ *strused = fs_human_readable(used);
- gchar *strsize = fs_human_readable(size),
- *stravail = fs_human_readable(avail),
- *strused = fs_human_readable(used);
+ gchar *strhash;
+ if ((strhash = g_hash_table_lookup(moreinfo, tmp[0]))) {
+ g_hash_table_remove(moreinfo, tmp[0]);
+ g_free(strhash);
+ }
- gchar *strhash;
- if ((strhash = g_hash_table_lookup(moreinfo, tmp[0]))) {
- g_hash_table_remove(moreinfo, tmp[0]);
- g_free(strhash);
- }
-
- strhash = g_strdup_printf("[%s]\n"
- "Filesystem=%s\n"
- "Mounted As=%s\n"
- "Mount Point=%s\n"
- "Size=%s\n"
- "Used=%s\n"
- "Available=%s\n",
- tmp[0],
- tmp[2],
- strstr(tmp[3],
- "rw") ? "Read-Write" :
- "Read-Only", tmp[1], strsize, strused,
- stravail);
- g_hash_table_insert(moreinfo, g_strdup(tmp[0]), strhash);
+ strhash = g_strdup_printf("[%s]\n"
+ "Filesystem=%s\n"
+ "Mounted As=%s\n"
+ "Mount Point=%s\n"
+ "Size=%s\n"
+ "Used=%s\n"
+ "Available=%s\n",
+ tmp[0],
+ tmp[2],
+ strstr(tmp[3], "rw") ? "Read-Write" :
+ "Read-Only", tmp[1], strsize, strused,
+ stravail);
+ g_hash_table_insert(moreinfo, g_strdup(tmp[0]), strhash);
- fs_list = g_strdup_printf("%s$%s$%s=%s total, %s free\n",
- fs_list,
- tmp[0], tmp[0], strsize, stravail);
+ fs_list = g_strdup_printf("%s$%s$%s=%s total, %s free\n",
+ fs_list,
+ tmp[0], tmp[0], strsize, stravail);
- g_free(strsize);
- g_free(stravail);
- g_free(strused);
+ g_free(strsize);
+ g_free(stravail);
+ g_free(strused);
+ }
g_strfreev(tmp);
}
diff --git a/arch/linux/common/inputdevices.h b/arch/linux/common/inputdevices.h
index c32015a2..44a109ca 100644
--- a/arch/linux/common/inputdevices.h
+++ b/arch/linux/common/inputdevices.h
@@ -37,6 +37,7 @@ static struct {
{ "Keyboard", "keyboard.png" },
{ "Joystick", "joystick.png" },
{ "Mouse", "mouse.png" },
+ { "Speaker", "audio.png" },
{ "Unknown", "module.png" },
};
@@ -84,9 +85,13 @@ scan_inputdevices(void)
else if (strstr(tmp, "mouse"))
d = 2; //INPUT_MOUSE;
else
- d = 3; //INPUT_UNKNOWN;
+ d = 4; //INPUT_UNKNOWN;
break;
case '\n':
+ if (strstr(name, "PC Speaker")) {
+ d = 3; // INPUT_PCSPKR
+ }
+
tmp = g_strdup_printf("INP%d", ++n);
input_list = g_strdup_printf("%s$%s$%s=\n",
input_list,
diff --git a/arch/linux/common/nfs.h b/arch/linux/common/nfs.h
new file mode 100644
index 00000000..5ae22797
--- /dev/null
+++ b/arch/linux/common/nfs.h
@@ -0,0 +1,29 @@
+static gchar *nfs_shares_list = NULL;
+void
+scan_nfs_shared_directories(void)
+{
+ FILE *exports;
+ gchar buf[512];
+
+ if (nfs_shares_list) {
+ g_free(nfs_shares_list);
+ }
+
+ nfs_shares_list = g_strdup("");
+
+ exports = fopen("/etc/exports", "r");
+ if (!exports)
+ return;
+
+ while (fgets(buf, 512, exports)) {
+ if (buf[0] != '/')
+ continue;
+
+ strend(buf, ' ');
+ strend(buf, '\t');
+
+ nfs_shares_list = g_strconcat(nfs_shares_list, buf, "=\n", NULL);
+ }
+ fclose(exports);
+}
+
diff --git a/arch/linux/common/samba.h b/arch/linux/common/samba.h
index 538659a6..5f5ecbe5 100644
--- a/arch/linux/common/samba.h
+++ b/arch/linux/common/samba.h
@@ -16,24 +16,25 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static gchar *shares_list = NULL;
+static gchar *smb_shares_list = NULL;
void
-scan_shared_directories(void)
+scan_samba_shared_directories(void)
{
GKeyFile *keyfile;
GError *error = NULL;
gchar **groups;
gchar *smbconf;
gsize length;
+ gint i = 0;
- if (shares_list) {
- g_free(shares_list);
+ if (smb_shares_list) {
+ g_free(smb_shares_list);
}
keyfile = g_key_file_new();
if (!g_file_get_contents("/etc/samba/smb.conf", &smbconf, &length, &error)) {
- shares_list = g_strdup("Cannot open /etc/samba/smb.conf=\n");
+ smb_shares_list = g_strdup("Cannot open /etc/samba/smb.conf=\n");
g_error_free(error);
goto cleanup;
}
@@ -43,24 +44,23 @@ scan_shared_directories(void)
if (*_smbconf == ';') *_smbconf = '\0';
if (!g_key_file_load_from_data(keyfile, smbconf, length, 0, &error)) {
- shares_list = g_strdup("Cannot parse smb.conf=\n");
+ smb_shares_list = g_strdup("Cannot parse smb.conf=\n");
g_error_free(error);
goto cleanup;
}
- shares_list = g_strdup("");
+ smb_shares_list = g_strdup("");
groups = g_key_file_get_groups(keyfile, NULL);
- gchar **_groups = groups;
- while (*groups) {
- if (g_key_file_has_key(keyfile, *groups, "path", NULL) &&
- g_key_file_has_key(keyfile, *groups, "available", NULL)) {
+ while (groups[i]) {
+ if (g_key_file_has_key(keyfile, groups[i], "path", NULL) &&
+ g_key_file_has_key(keyfile, groups[i], "available", NULL)) {
- gchar *available = g_key_file_get_string(keyfile, *groups, "available", NULL);
+ gchar *available = g_key_file_get_string(keyfile, groups[i], "available", NULL);
if (g_str_equal(available, "yes")) {
- gchar *path = g_key_file_get_string(keyfile, *groups, "path", NULL);
- shares_list = g_strconcat(shares_list, *groups, "=",
+ gchar *path = g_key_file_get_string(keyfile, groups[i], "path", NULL);
+ smb_shares_list = g_strconcat(smb_shares_list, groups[i], "=",
path, "\n", NULL);
g_free(path);
}
@@ -68,10 +68,10 @@ scan_shared_directories(void)
g_free(available);
}
- *groups++;
+ i++;
}
- g_strfreev(_groups);
+ g_strfreev(groups);
cleanup:
g_key_file_free(keyfile);
diff --git a/arch/linux/m68k/.svn/README.txt b/arch/linux/m68k/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/arch/linux/m68k/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/arch/linux/m68k/.svn/empty-file b/arch/linux/m68k/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/m68k/.svn/empty-file
diff --git a/arch/linux/m68k/.svn/entries b/arch/linux/m68k/.svn/entries
new file mode 100644
index 00000000..878516e0
--- /dev/null
+++ b/arch/linux/m68k/.svn/entries
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="4"
+ name=""
+ committed-date="2006-01-31T23:35:06.244169Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/arch/linux/m68k"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+<entry
+ committed-rev="4"
+ name="usb.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="0ed17ec7082ecf81bc512f4d2add7bec"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="sensors.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="ba83966be8f142e8f9fbed44bfc77b7a"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="inputdevices.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="1307b7aff245fa7fba84aa91f08d27fc"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:22.000000Z"/>
+<entry
+ committed-rev="4"
+ name="uptime.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="760f1adef4fbcec7d74200abc3a4f6eb"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:22.000000Z"/>
+<entry
+ committed-rev="4"
+ name="storage.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="602ef4aa9053cd983170660f53334cef"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:22.000000Z"/>
+<entry
+ committed-rev="4"
+ name="modules.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="45dfbaaabb31981ac06e021773429228"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:22.000000Z"/>
+<entry
+ committed-rev="4"
+ name="memory.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="765f1eed8d98b9bbb06c4c034ce9fa32"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:22.000000Z"/>
+<entry
+ committed-rev="4"
+ name="pci.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="cab1a2936974aed489c107f3643b3484"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="loadavg.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="1c83a008e883018ff1092781358ec2da"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="processor.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="b0be8780283e94e9eb694153c9b19d8a"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="alsa.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="dc249687377b2de88793ee09bf54f1f1"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="os.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="048c3f4b338d765be4f10b5067d8b50e"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:22.000000Z"/>
+<entry
+ committed-rev="4"
+ name="samba.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="b541109072721d735717a33724ce9127"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:22.000000Z"/>
+<entry
+ committed-rev="4"
+ name="filesystem.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="7f23b37be4cf5009414843bfe5c4e450"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:22.000000Z"/>
+<entry
+ committed-rev="4"
+ name="net.h"
+ text-time="2006-05-20T14:29:22.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="22e5b201692010dee02e9562ce6cba1b"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:22.000000Z"/>
+<entry
+ committed-rev="13"
+ name="nfs.h"
+ text-time="2006-05-22T12:07:13.000000Z"
+ committed-date="2006-05-22T12:11:05.185078Z"
+ checksum="382976a6eab28131079a346dd16edcd7"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-22T12:07:36.000000Z"
+ revision="13"/>
+</wc-entries>
diff --git a/arch/linux/m68k/.svn/format b/arch/linux/m68k/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/arch/linux/m68k/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/arch/linux/m68k/.svn/prop-base/alsa.h.svn-base b/arch/linux/m68k/.svn/prop-base/alsa.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/alsa.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/filesystem.h.svn-base b/arch/linux/m68k/.svn/prop-base/filesystem.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/filesystem.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/inputdevices.h.svn-base b/arch/linux/m68k/.svn/prop-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/inputdevices.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/loadavg.h.svn-base b/arch/linux/m68k/.svn/prop-base/loadavg.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/loadavg.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/memory.h.svn-base b/arch/linux/m68k/.svn/prop-base/memory.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/memory.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/modules.h.svn-base b/arch/linux/m68k/.svn/prop-base/modules.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/modules.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/net.h.svn-base b/arch/linux/m68k/.svn/prop-base/net.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/net.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/nfs.h.svn-base b/arch/linux/m68k/.svn/prop-base/nfs.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/nfs.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/os.h.svn-base b/arch/linux/m68k/.svn/prop-base/os.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/os.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/pci.h.svn-base b/arch/linux/m68k/.svn/prop-base/pci.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/pci.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/processor.h.svn-base b/arch/linux/m68k/.svn/prop-base/processor.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/processor.h.svn-base
diff --git a/arch/linux/m68k/.svn/prop-base/samba.h.svn-base b/arch/linux/m68k/.svn/prop-base/samba.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/samba.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/sensors.h.svn-base b/arch/linux/m68k/.svn/prop-base/sensors.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/sensors.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/storage.h.svn-base b/arch/linux/m68k/.svn/prop-base/storage.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/storage.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/uptime.h.svn-base b/arch/linux/m68k/.svn/prop-base/uptime.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/uptime.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/prop-base/usb.h.svn-base b/arch/linux/m68k/.svn/prop-base/usb.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/prop-base/usb.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/alsa.h.svn-work b/arch/linux/m68k/.svn/props/alsa.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/alsa.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/filesystem.h.svn-work b/arch/linux/m68k/.svn/props/filesystem.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/filesystem.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/inputdevices.h.svn-work b/arch/linux/m68k/.svn/props/inputdevices.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/inputdevices.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/loadavg.h.svn-work b/arch/linux/m68k/.svn/props/loadavg.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/loadavg.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/memory.h.svn-work b/arch/linux/m68k/.svn/props/memory.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/memory.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/modules.h.svn-work b/arch/linux/m68k/.svn/props/modules.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/modules.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/net.h.svn-work b/arch/linux/m68k/.svn/props/net.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/net.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/nfs.h.svn-work b/arch/linux/m68k/.svn/props/nfs.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/nfs.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/os.h.svn-work b/arch/linux/m68k/.svn/props/os.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/os.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/pci.h.svn-work b/arch/linux/m68k/.svn/props/pci.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/pci.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/processor.h.svn-work b/arch/linux/m68k/.svn/props/processor.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/processor.h.svn-work
diff --git a/arch/linux/m68k/.svn/props/samba.h.svn-work b/arch/linux/m68k/.svn/props/samba.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/samba.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/sensors.h.svn-work b/arch/linux/m68k/.svn/props/sensors.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/sensors.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/storage.h.svn-work b/arch/linux/m68k/.svn/props/storage.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/storage.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/uptime.h.svn-work b/arch/linux/m68k/.svn/props/uptime.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/uptime.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/props/usb.h.svn-work b/arch/linux/m68k/.svn/props/usb.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/m68k/.svn/props/usb.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/m68k/.svn/text-base/alsa.h.svn-base b/arch/linux/m68k/.svn/text-base/alsa.h.svn-base
new file mode 100644
index 00000000..e17b92c3
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/alsa.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/alsa.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/filesystem.h.svn-base b/arch/linux/m68k/.svn/text-base/filesystem.h.svn-base
new file mode 100644
index 00000000..0d23c803
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/filesystem.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/filesystem.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/inputdevices.h.svn-base b/arch/linux/m68k/.svn/text-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..58695156
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/inputdevices.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/inputdevices.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/loadavg.h.svn-base b/arch/linux/m68k/.svn/text-base/loadavg.h.svn-base
new file mode 100644
index 00000000..354f872f
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/loadavg.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/loadavg.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/memory.h.svn-base b/arch/linux/m68k/.svn/text-base/memory.h.svn-base
new file mode 100644
index 00000000..2b2ad528
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/memory.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/memory.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/modules.h.svn-base b/arch/linux/m68k/.svn/text-base/modules.h.svn-base
new file mode 100644
index 00000000..d80f7d7a
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/modules.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/modules.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/net.h.svn-base b/arch/linux/m68k/.svn/text-base/net.h.svn-base
new file mode 100644
index 00000000..2b4ac97a
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/net.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/net.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/nfs.h.svn-base b/arch/linux/m68k/.svn/text-base/nfs.h.svn-base
new file mode 100644
index 00000000..c10bd829
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/nfs.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/os.h.svn-base b/arch/linux/m68k/.svn/text-base/os.h.svn-base
new file mode 100644
index 00000000..49613b1f
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/os.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/os.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/pci.h.svn-base b/arch/linux/m68k/.svn/text-base/pci.h.svn-base
new file mode 100644
index 00000000..2386d2ad
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/pci.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/pci.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/processor.h.svn-base b/arch/linux/m68k/.svn/text-base/processor.h.svn-base
new file mode 100644
index 00000000..0a1bab62
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/processor.h.svn-base
@@ -0,0 +1,74 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static Processor *
+computer_get_processor(void)
+{
+ Processor *processor;
+ FILE *cpuinfo;
+ gchar buffer[128];
+
+ cpuinfo = fopen("/proc/cpuinfo", "r");
+ if (!cpuinfo)
+ return NULL;
+
+ processor = g_new0(Processor, 1);
+ while (fgets(buffer, 128, cpuinfo)) {
+ gchar **tmp = g_strsplit(buffer, ":", 2);
+
+ if (tmp[0] && tmp[1]) {
+ tmp[0] = g_strstrip(tmp[0]);
+ tmp[1] = g_strstrip(tmp[1]);
+
+ get_str("CPU", processor->model_name);
+ get_float("Clocking", processor->cpu_mhz);
+ get_float("bogomips", processor->bogomips);
+
+ get_str("FPU", processor->has_fpu);
+ }
+ g_strfreev(tmp);
+ }
+
+ gchar *tmp;
+ tmp = g_strconcat("Motorola ", processor->model_name, NULL);
+ g_free(processor->model_name);
+ processor->model_name = tmp;
+
+ fclose(cpuinfo);
+
+ return processor;
+}
+
+static gchar *
+processor_get_info(Processor *processor)
+{
+ return g_strdup_printf("[Processor]\n"
+ "Name=%s\n"
+ "Frequency=%.2fMHz\n"
+ "BogoMips=%.2f\n"
+ "Byte Order=%s\n",
+ processor->model_name,
+ processor->cpu_mhz,
+ processor->bogomips,
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+ "Little Endian"
+#else
+ "Big Endian"
+#endif
+ );
+}
diff --git a/arch/linux/m68k/.svn/text-base/samba.h.svn-base b/arch/linux/m68k/.svn/text-base/samba.h.svn-base
new file mode 100644
index 00000000..246e9ed0
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/samba.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/samba.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/sensors.h.svn-base b/arch/linux/m68k/.svn/text-base/sensors.h.svn-base
new file mode 100644
index 00000000..822de7b7
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/sensors.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/sensors.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/storage.h.svn-base b/arch/linux/m68k/.svn/text-base/storage.h.svn-base
new file mode 100644
index 00000000..24568f89
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/storage.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/storage.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/uptime.h.svn-base b/arch/linux/m68k/.svn/text-base/uptime.h.svn-base
new file mode 100644
index 00000000..25cc41e9
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/uptime.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/uptime.h \ No newline at end of file
diff --git a/arch/linux/m68k/.svn/text-base/usb.h.svn-base b/arch/linux/m68k/.svn/text-base/usb.h.svn-base
new file mode 100644
index 00000000..8aece87f
--- /dev/null
+++ b/arch/linux/m68k/.svn/text-base/usb.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/usb.h \ No newline at end of file
diff --git a/arch/linux/m68k/nfs.h b/arch/linux/m68k/nfs.h
new file mode 120000
index 00000000..3d1048da
--- /dev/null
+++ b/arch/linux/m68k/nfs.h
@@ -0,0 +1 @@
+../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/README.txt b/arch/linux/mips/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/arch/linux/mips/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/arch/linux/mips/.svn/empty-file b/arch/linux/mips/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/mips/.svn/empty-file
diff --git a/arch/linux/mips/.svn/entries b/arch/linux/mips/.svn/entries
new file mode 100644
index 00000000..ff41e403
--- /dev/null
+++ b/arch/linux/mips/.svn/entries
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="4"
+ name=""
+ committed-date="2006-01-31T23:35:06.244169Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/arch/linux/mips"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+<entry
+ committed-rev="4"
+ name="usb.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="0ed17ec7082ecf81bc512f4d2add7bec"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:25.000000Z"/>
+<entry
+ committed-rev="4"
+ name="sensors.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="ba83966be8f142e8f9fbed44bfc77b7a"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:25.000000Z"/>
+<entry
+ committed-rev="4"
+ name="inputdevices.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="1307b7aff245fa7fba84aa91f08d27fc"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="uptime.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="760f1adef4fbcec7d74200abc3a4f6eb"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="storage.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="602ef4aa9053cd983170660f53334cef"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="modules.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="45dfbaaabb31981ac06e021773429228"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="memory.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="765f1eed8d98b9bbb06c4c034ce9fa32"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="pci.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="cab1a2936974aed489c107f3643b3484"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:25.000000Z"/>
+<entry
+ committed-rev="4"
+ name="loadavg.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="1c83a008e883018ff1092781358ec2da"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:25.000000Z"/>
+<entry
+ committed-rev="4"
+ name="processor.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="2cfddc7b7aa4eb98ba1b6cfa30b03f28"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="alsa.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="dc249687377b2de88793ee09bf54f1f1"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="os.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="048c3f4b338d765be4f10b5067d8b50e"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="samba.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="b541109072721d735717a33724ce9127"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="filesystem.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="7f23b37be4cf5009414843bfe5c4e450"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="net.h"
+ text-time="2006-05-20T14:29:27.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="22e5b201692010dee02e9562ce6cba1b"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="13"
+ name="nfs.h"
+ text-time="2006-05-22T12:07:16.000000Z"
+ committed-date="2006-05-22T12:11:05.185078Z"
+ checksum="382976a6eab28131079a346dd16edcd7"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-22T12:07:36.000000Z"
+ revision="13"/>
+</wc-entries>
diff --git a/arch/linux/mips/.svn/format b/arch/linux/mips/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/arch/linux/mips/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/arch/linux/mips/.svn/prop-base/alsa.h.svn-base b/arch/linux/mips/.svn/prop-base/alsa.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/alsa.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/filesystem.h.svn-base b/arch/linux/mips/.svn/prop-base/filesystem.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/filesystem.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/inputdevices.h.svn-base b/arch/linux/mips/.svn/prop-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/inputdevices.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/loadavg.h.svn-base b/arch/linux/mips/.svn/prop-base/loadavg.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/loadavg.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/memory.h.svn-base b/arch/linux/mips/.svn/prop-base/memory.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/memory.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/modules.h.svn-base b/arch/linux/mips/.svn/prop-base/modules.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/modules.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/net.h.svn-base b/arch/linux/mips/.svn/prop-base/net.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/net.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/nfs.h.svn-base b/arch/linux/mips/.svn/prop-base/nfs.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/nfs.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/os.h.svn-base b/arch/linux/mips/.svn/prop-base/os.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/os.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/pci.h.svn-base b/arch/linux/mips/.svn/prop-base/pci.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/pci.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/processor.h.svn-base b/arch/linux/mips/.svn/prop-base/processor.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/processor.h.svn-base
diff --git a/arch/linux/mips/.svn/prop-base/samba.h.svn-base b/arch/linux/mips/.svn/prop-base/samba.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/samba.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/sensors.h.svn-base b/arch/linux/mips/.svn/prop-base/sensors.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/sensors.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/storage.h.svn-base b/arch/linux/mips/.svn/prop-base/storage.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/storage.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/uptime.h.svn-base b/arch/linux/mips/.svn/prop-base/uptime.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/uptime.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/prop-base/usb.h.svn-base b/arch/linux/mips/.svn/prop-base/usb.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/prop-base/usb.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/alsa.h.svn-work b/arch/linux/mips/.svn/props/alsa.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/alsa.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/filesystem.h.svn-work b/arch/linux/mips/.svn/props/filesystem.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/filesystem.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/inputdevices.h.svn-work b/arch/linux/mips/.svn/props/inputdevices.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/inputdevices.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/loadavg.h.svn-work b/arch/linux/mips/.svn/props/loadavg.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/loadavg.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/memory.h.svn-work b/arch/linux/mips/.svn/props/memory.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/memory.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/modules.h.svn-work b/arch/linux/mips/.svn/props/modules.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/modules.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/net.h.svn-work b/arch/linux/mips/.svn/props/net.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/net.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/nfs.h.svn-work b/arch/linux/mips/.svn/props/nfs.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/nfs.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/os.h.svn-work b/arch/linux/mips/.svn/props/os.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/os.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/pci.h.svn-work b/arch/linux/mips/.svn/props/pci.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/pci.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/processor.h.svn-work b/arch/linux/mips/.svn/props/processor.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/mips/.svn/props/processor.h.svn-work
diff --git a/arch/linux/mips/.svn/props/samba.h.svn-work b/arch/linux/mips/.svn/props/samba.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/samba.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/sensors.h.svn-work b/arch/linux/mips/.svn/props/sensors.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/sensors.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/storage.h.svn-work b/arch/linux/mips/.svn/props/storage.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/storage.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/uptime.h.svn-work b/arch/linux/mips/.svn/props/uptime.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/uptime.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/props/usb.h.svn-work b/arch/linux/mips/.svn/props/usb.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/mips/.svn/props/usb.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/mips/.svn/text-base/alsa.h.svn-base b/arch/linux/mips/.svn/text-base/alsa.h.svn-base
new file mode 100644
index 00000000..e17b92c3
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/alsa.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/alsa.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/filesystem.h.svn-base b/arch/linux/mips/.svn/text-base/filesystem.h.svn-base
new file mode 100644
index 00000000..0d23c803
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/filesystem.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/filesystem.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/inputdevices.h.svn-base b/arch/linux/mips/.svn/text-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..58695156
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/inputdevices.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/inputdevices.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/loadavg.h.svn-base b/arch/linux/mips/.svn/text-base/loadavg.h.svn-base
new file mode 100644
index 00000000..354f872f
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/loadavg.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/loadavg.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/memory.h.svn-base b/arch/linux/mips/.svn/text-base/memory.h.svn-base
new file mode 100644
index 00000000..2b2ad528
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/memory.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/memory.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/modules.h.svn-base b/arch/linux/mips/.svn/text-base/modules.h.svn-base
new file mode 100644
index 00000000..d80f7d7a
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/modules.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/modules.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/net.h.svn-base b/arch/linux/mips/.svn/text-base/net.h.svn-base
new file mode 100644
index 00000000..2b4ac97a
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/net.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/net.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/nfs.h.svn-base b/arch/linux/mips/.svn/text-base/nfs.h.svn-base
new file mode 100644
index 00000000..c10bd829
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/nfs.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/os.h.svn-base b/arch/linux/mips/.svn/text-base/os.h.svn-base
new file mode 100644
index 00000000..49613b1f
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/os.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/os.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/pci.h.svn-base b/arch/linux/mips/.svn/text-base/pci.h.svn-base
new file mode 100644
index 00000000..2386d2ad
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/pci.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/pci.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/processor.h.svn-base b/arch/linux/mips/.svn/text-base/processor.h.svn-base
new file mode 100644
index 00000000..8be922f9
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/processor.h.svn-base
@@ -0,0 +1,70 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static Processor *
+computer_get_processor(void)
+{
+ Processor *processor;
+ FILE *cpuinfo;
+ gchar buffer[128];
+
+ cpuinfo = fopen("/proc/cpuinfo", "r");
+ if (!cpuinfo)
+ return NULL;
+
+ processor = g_new0(Processor, 1);
+ while (fgets(buffer, 128, cpuinfo)) {
+ gchar **tmp = g_strsplit(buffer, ":", 2);
+
+ if (tmp[0] && tmp[1]) {
+ tmp[0] = g_strstrip(tmp[0]);
+ tmp[1] = g_strstrip(tmp[1]);
+
+ get_str("system type", processor->model_name);
+ get_str("cpu model", processor->vendor_id);
+ get_float("cpu MHz", processor->cpu_mhz);
+ get_float("BogoMIPS", processor->bogomips);
+ }
+ g_strfreev(tmp);
+ }
+
+ fclose(cpuinfo);
+
+ return processor;
+}
+
+static gchar *
+processor_get_info(Processor *processor)
+{
+ return g_strdup_printf("[Processor]\n"
+ "System Type=%s\n"
+ "CPU Model=%s\n"
+ "Frequency=%.2fMHz\n"
+ "BogoMIPS=%.2f\n"
+ "Byte Order=%s\n",
+ processor->model_name,
+ processor->vendor_id,
+ processor->cpu_mhz,
+ processor->bogomips,
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+ "Little Endian"
+#else
+ "Big Endian"
+#endif
+ );
+}
diff --git a/arch/linux/mips/.svn/text-base/samba.h.svn-base b/arch/linux/mips/.svn/text-base/samba.h.svn-base
new file mode 100644
index 00000000..246e9ed0
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/samba.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/samba.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/sensors.h.svn-base b/arch/linux/mips/.svn/text-base/sensors.h.svn-base
new file mode 100644
index 00000000..822de7b7
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/sensors.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/sensors.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/storage.h.svn-base b/arch/linux/mips/.svn/text-base/storage.h.svn-base
new file mode 100644
index 00000000..24568f89
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/storage.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/storage.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/uptime.h.svn-base b/arch/linux/mips/.svn/text-base/uptime.h.svn-base
new file mode 100644
index 00000000..25cc41e9
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/uptime.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/uptime.h \ No newline at end of file
diff --git a/arch/linux/mips/.svn/text-base/usb.h.svn-base b/arch/linux/mips/.svn/text-base/usb.h.svn-base
new file mode 100644
index 00000000..8aece87f
--- /dev/null
+++ b/arch/linux/mips/.svn/text-base/usb.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/usb.h \ No newline at end of file
diff --git a/arch/linux/mips/nfs.h b/arch/linux/mips/nfs.h
new file mode 120000
index 00000000..3d1048da
--- /dev/null
+++ b/arch/linux/mips/nfs.h
@@ -0,0 +1 @@
+../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/README.txt b/arch/linux/parisc/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/arch/linux/parisc/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/arch/linux/parisc/.svn/empty-file b/arch/linux/parisc/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/parisc/.svn/empty-file
diff --git a/arch/linux/parisc/.svn/entries b/arch/linux/parisc/.svn/entries
new file mode 100644
index 00000000..3d021fea
--- /dev/null
+++ b/arch/linux/parisc/.svn/entries
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="4"
+ name=""
+ committed-date="2006-01-31T23:35:06.244169Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/arch/linux/parisc"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+<entry
+ committed-rev="4"
+ name="usb.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="0ed17ec7082ecf81bc512f4d2add7bec"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:18.000000Z"/>
+<entry
+ committed-rev="4"
+ name="sensors.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="ba83966be8f142e8f9fbed44bfc77b7a"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:18.000000Z"/>
+<entry
+ committed-rev="4"
+ name="inputdevices.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="1307b7aff245fa7fba84aa91f08d27fc"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:18.000000Z"/>
+<entry
+ committed-rev="4"
+ name="uptime.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="760f1adef4fbcec7d74200abc3a4f6eb"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:19.000000Z"/>
+<entry
+ committed-rev="4"
+ name="storage.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="602ef4aa9053cd983170660f53334cef"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:19.000000Z"/>
+<entry
+ committed-rev="4"
+ name="modules.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="45dfbaaabb31981ac06e021773429228"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:19.000000Z"/>
+<entry
+ committed-rev="4"
+ name="memory.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="765f1eed8d98b9bbb06c4c034ce9fa32"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:19.000000Z"/>
+<entry
+ committed-rev="4"
+ name="pci.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="cab1a2936974aed489c107f3643b3484"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:18.000000Z"/>
+<entry
+ committed-rev="4"
+ name="loadavg.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="1c83a008e883018ff1092781358ec2da"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:18.000000Z"/>
+<entry
+ committed-rev="4"
+ name="processor.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="81c73d87c453b53e5016fcb0a627665c"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:18.000000Z"/>
+<entry
+ committed-rev="4"
+ name="alsa.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="dc249687377b2de88793ee09bf54f1f1"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:18.000000Z"/>
+<entry
+ committed-rev="4"
+ name="os.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="048c3f4b338d765be4f10b5067d8b50e"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:18.000000Z"/>
+<entry
+ committed-rev="4"
+ name="samba.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="b541109072721d735717a33724ce9127"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:19.000000Z"/>
+<entry
+ committed-rev="4"
+ name="filesystem.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="7f23b37be4cf5009414843bfe5c4e450"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:19.000000Z"/>
+<entry
+ committed-rev="4"
+ name="net.h"
+ text-time="2006-05-20T14:29:19.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="22e5b201692010dee02e9562ce6cba1b"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:19.000000Z"/>
+<entry
+ committed-rev="13"
+ name="nfs.h"
+ text-time="2006-05-22T12:07:19.000000Z"
+ committed-date="2006-05-22T12:11:05.185078Z"
+ checksum="382976a6eab28131079a346dd16edcd7"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-22T12:07:36.000000Z"
+ revision="13"/>
+</wc-entries>
diff --git a/arch/linux/parisc/.svn/format b/arch/linux/parisc/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/arch/linux/parisc/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/arch/linux/parisc/.svn/prop-base/alsa.h.svn-base b/arch/linux/parisc/.svn/prop-base/alsa.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/alsa.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/filesystem.h.svn-base b/arch/linux/parisc/.svn/prop-base/filesystem.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/filesystem.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/inputdevices.h.svn-base b/arch/linux/parisc/.svn/prop-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/inputdevices.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/loadavg.h.svn-base b/arch/linux/parisc/.svn/prop-base/loadavg.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/loadavg.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/memory.h.svn-base b/arch/linux/parisc/.svn/prop-base/memory.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/memory.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/modules.h.svn-base b/arch/linux/parisc/.svn/prop-base/modules.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/modules.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/net.h.svn-base b/arch/linux/parisc/.svn/prop-base/net.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/net.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/nfs.h.svn-base b/arch/linux/parisc/.svn/prop-base/nfs.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/nfs.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/os.h.svn-base b/arch/linux/parisc/.svn/prop-base/os.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/os.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/pci.h.svn-base b/arch/linux/parisc/.svn/prop-base/pci.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/pci.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/processor.h.svn-base b/arch/linux/parisc/.svn/prop-base/processor.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/processor.h.svn-base
diff --git a/arch/linux/parisc/.svn/prop-base/samba.h.svn-base b/arch/linux/parisc/.svn/prop-base/samba.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/samba.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/sensors.h.svn-base b/arch/linux/parisc/.svn/prop-base/sensors.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/sensors.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/storage.h.svn-base b/arch/linux/parisc/.svn/prop-base/storage.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/storage.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/uptime.h.svn-base b/arch/linux/parisc/.svn/prop-base/uptime.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/uptime.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/prop-base/usb.h.svn-base b/arch/linux/parisc/.svn/prop-base/usb.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/prop-base/usb.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/alsa.h.svn-work b/arch/linux/parisc/.svn/props/alsa.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/alsa.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/filesystem.h.svn-work b/arch/linux/parisc/.svn/props/filesystem.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/filesystem.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/inputdevices.h.svn-work b/arch/linux/parisc/.svn/props/inputdevices.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/inputdevices.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/loadavg.h.svn-work b/arch/linux/parisc/.svn/props/loadavg.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/loadavg.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/memory.h.svn-work b/arch/linux/parisc/.svn/props/memory.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/memory.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/modules.h.svn-work b/arch/linux/parisc/.svn/props/modules.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/modules.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/net.h.svn-work b/arch/linux/parisc/.svn/props/net.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/net.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/nfs.h.svn-work b/arch/linux/parisc/.svn/props/nfs.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/nfs.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/os.h.svn-work b/arch/linux/parisc/.svn/props/os.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/os.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/pci.h.svn-work b/arch/linux/parisc/.svn/props/pci.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/pci.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/processor.h.svn-work b/arch/linux/parisc/.svn/props/processor.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/processor.h.svn-work
diff --git a/arch/linux/parisc/.svn/props/samba.h.svn-work b/arch/linux/parisc/.svn/props/samba.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/samba.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/sensors.h.svn-work b/arch/linux/parisc/.svn/props/sensors.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/sensors.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/storage.h.svn-work b/arch/linux/parisc/.svn/props/storage.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/storage.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/uptime.h.svn-work b/arch/linux/parisc/.svn/props/uptime.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/uptime.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/props/usb.h.svn-work b/arch/linux/parisc/.svn/props/usb.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/parisc/.svn/props/usb.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/parisc/.svn/text-base/alsa.h.svn-base b/arch/linux/parisc/.svn/text-base/alsa.h.svn-base
new file mode 100644
index 00000000..e17b92c3
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/alsa.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/alsa.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/filesystem.h.svn-base b/arch/linux/parisc/.svn/text-base/filesystem.h.svn-base
new file mode 100644
index 00000000..0d23c803
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/filesystem.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/filesystem.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/inputdevices.h.svn-base b/arch/linux/parisc/.svn/text-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..58695156
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/inputdevices.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/inputdevices.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/loadavg.h.svn-base b/arch/linux/parisc/.svn/text-base/loadavg.h.svn-base
new file mode 100644
index 00000000..354f872f
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/loadavg.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/loadavg.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/memory.h.svn-base b/arch/linux/parisc/.svn/text-base/memory.h.svn-base
new file mode 100644
index 00000000..2b2ad528
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/memory.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/memory.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/modules.h.svn-base b/arch/linux/parisc/.svn/text-base/modules.h.svn-base
new file mode 100644
index 00000000..d80f7d7a
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/modules.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/modules.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/net.h.svn-base b/arch/linux/parisc/.svn/text-base/net.h.svn-base
new file mode 100644
index 00000000..2b4ac97a
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/net.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/net.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/nfs.h.svn-base b/arch/linux/parisc/.svn/text-base/nfs.h.svn-base
new file mode 100644
index 00000000..c10bd829
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/nfs.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/os.h.svn-base b/arch/linux/parisc/.svn/text-base/os.h.svn-base
new file mode 100644
index 00000000..49613b1f
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/os.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/os.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/pci.h.svn-base b/arch/linux/parisc/.svn/text-base/pci.h.svn-base
new file mode 100644
index 00000000..2386d2ad
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/pci.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/pci.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/processor.h.svn-base b/arch/linux/parisc/.svn/text-base/processor.h.svn-base
new file mode 100644
index 00000000..41b628f4
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/processor.h.svn-base
@@ -0,0 +1,82 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static Processor *
+computer_get_processor(void)
+{
+ Processor *processor;
+ FILE *cpuinfo;
+ gchar buffer[128];
+
+ cpuinfo = fopen("/proc/cpuinfo", "r");
+ if (!cpuinfo)
+ return NULL;
+
+ processor = g_new0(Processor, 1);
+ while (fgets(buffer, 128, cpuinfo)) {
+ gchar **tmp = g_strsplit(buffer, ":", 2);
+
+ if (tmp[0] && tmp[1]) {
+ tmp[0] = g_strstrip(tmp[0]);
+ tmp[1] = g_strstrip(tmp[1]);
+
+ get_str("cpu family", processor->model_name);
+ get_str("cpu", processor->vendor_id);
+ get_float("cpu MHz", processor->cpu_mhz);
+ get_float("bogomips", processor->bogomips);
+
+ get_str("model name", processor->strmodel);
+
+ get_int("I-cache", processor->has_fpu);
+ get_int("D-cache", processor->flags);
+
+ }
+ g_strfreev(tmp);
+ }
+
+ fclose(cpuinfo);
+
+ return processor;
+}
+
+static gchar *
+processor_get_info(Processor *processor)
+{
+ return g_strdup_printf("[Processor]\n"
+ "CPU Family=%s\n"
+ "CPU=%s\n"
+ "Frequency=%.2fMHz\n"
+ "Bogomips=%.2f\n"
+ "Model Name=%s\n"
+ "Byte Order=%s\n"
+ "[Cache]\n"
+ "I-Cache=%s\n"
+ "D-Cache=%s\n",
+ processor->model_name,
+ processor->vendor_id,
+ processor->cpu_mhz,
+ processor->bogomips,
+ processor->strmodel,
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+ "Little Endian",
+#else
+ "Big Endian",
+#endif
+ processor->has_fpu,
+ processor->flags);
+}
diff --git a/arch/linux/parisc/.svn/text-base/samba.h.svn-base b/arch/linux/parisc/.svn/text-base/samba.h.svn-base
new file mode 100644
index 00000000..246e9ed0
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/samba.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/samba.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/sensors.h.svn-base b/arch/linux/parisc/.svn/text-base/sensors.h.svn-base
new file mode 100644
index 00000000..822de7b7
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/sensors.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/sensors.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/storage.h.svn-base b/arch/linux/parisc/.svn/text-base/storage.h.svn-base
new file mode 100644
index 00000000..24568f89
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/storage.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/storage.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/uptime.h.svn-base b/arch/linux/parisc/.svn/text-base/uptime.h.svn-base
new file mode 100644
index 00000000..25cc41e9
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/uptime.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/uptime.h \ No newline at end of file
diff --git a/arch/linux/parisc/.svn/text-base/usb.h.svn-base b/arch/linux/parisc/.svn/text-base/usb.h.svn-base
new file mode 100644
index 00000000..8aece87f
--- /dev/null
+++ b/arch/linux/parisc/.svn/text-base/usb.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/usb.h \ No newline at end of file
diff --git a/arch/linux/parisc/nfs.h b/arch/linux/parisc/nfs.h
new file mode 120000
index 00000000..3d1048da
--- /dev/null
+++ b/arch/linux/parisc/nfs.h
@@ -0,0 +1 @@
+../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/README.txt b/arch/linux/ppc/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/arch/linux/ppc/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/arch/linux/ppc/.svn/empty-file b/arch/linux/ppc/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/ppc/.svn/empty-file
diff --git a/arch/linux/ppc/.svn/entries b/arch/linux/ppc/.svn/entries
new file mode 100644
index 00000000..15f4d581
--- /dev/null
+++ b/arch/linux/ppc/.svn/entries
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="4"
+ name=""
+ committed-date="2006-01-31T23:35:06.244169Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/arch/linux/ppc"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+<entry
+ committed-rev="4"
+ name="usb.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="0ed17ec7082ecf81bc512f4d2add7bec"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:19.000000Z"/>
+<entry
+ committed-rev="4"
+ name="sensors.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="ba83966be8f142e8f9fbed44bfc77b7a"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:19.000000Z"/>
+<entry
+ committed-rev="4"
+ name="inputdevices.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="1307b7aff245fa7fba84aa91f08d27fc"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="uptime.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="760f1adef4fbcec7d74200abc3a4f6eb"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="storage.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="602ef4aa9053cd983170660f53334cef"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="modules.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="45dfbaaabb31981ac06e021773429228"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="memory.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="765f1eed8d98b9bbb06c4c034ce9fa32"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="pci.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="cab1a2936974aed489c107f3643b3484"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:19.000000Z"/>
+<entry
+ committed-rev="4"
+ name="loadavg.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="1c83a008e883018ff1092781358ec2da"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="processor.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="dbc927e55d8803ea8a133a2b837dac06"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="alsa.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="dc249687377b2de88793ee09bf54f1f1"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="os.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="048c3f4b338d765be4f10b5067d8b50e"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="samba.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="b541109072721d735717a33724ce9127"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="filesystem.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="7f23b37be4cf5009414843bfe5c4e450"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="4"
+ name="net.h"
+ text-time="2006-05-20T14:29:20.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="22e5b201692010dee02e9562ce6cba1b"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:20.000000Z"/>
+<entry
+ committed-rev="13"
+ name="nfs.h"
+ text-time="2006-05-22T12:07:23.000000Z"
+ committed-date="2006-05-22T12:11:05.185078Z"
+ checksum="382976a6eab28131079a346dd16edcd7"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-22T12:07:36.000000Z"
+ revision="13"/>
+</wc-entries>
diff --git a/arch/linux/ppc/.svn/format b/arch/linux/ppc/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/arch/linux/ppc/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/arch/linux/ppc/.svn/prop-base/alsa.h.svn-base b/arch/linux/ppc/.svn/prop-base/alsa.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/alsa.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/filesystem.h.svn-base b/arch/linux/ppc/.svn/prop-base/filesystem.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/filesystem.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/inputdevices.h.svn-base b/arch/linux/ppc/.svn/prop-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/inputdevices.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/loadavg.h.svn-base b/arch/linux/ppc/.svn/prop-base/loadavg.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/loadavg.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/memory.h.svn-base b/arch/linux/ppc/.svn/prop-base/memory.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/memory.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/modules.h.svn-base b/arch/linux/ppc/.svn/prop-base/modules.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/modules.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/net.h.svn-base b/arch/linux/ppc/.svn/prop-base/net.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/net.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/nfs.h.svn-base b/arch/linux/ppc/.svn/prop-base/nfs.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/nfs.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/os.h.svn-base b/arch/linux/ppc/.svn/prop-base/os.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/os.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/pci.h.svn-base b/arch/linux/ppc/.svn/prop-base/pci.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/pci.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/processor.h.svn-base b/arch/linux/ppc/.svn/prop-base/processor.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/processor.h.svn-base
diff --git a/arch/linux/ppc/.svn/prop-base/samba.h.svn-base b/arch/linux/ppc/.svn/prop-base/samba.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/samba.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/sensors.h.svn-base b/arch/linux/ppc/.svn/prop-base/sensors.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/sensors.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/storage.h.svn-base b/arch/linux/ppc/.svn/prop-base/storage.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/storage.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/uptime.h.svn-base b/arch/linux/ppc/.svn/prop-base/uptime.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/uptime.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/prop-base/usb.h.svn-base b/arch/linux/ppc/.svn/prop-base/usb.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/prop-base/usb.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/alsa.h.svn-work b/arch/linux/ppc/.svn/props/alsa.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/alsa.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/filesystem.h.svn-work b/arch/linux/ppc/.svn/props/filesystem.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/filesystem.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/inputdevices.h.svn-work b/arch/linux/ppc/.svn/props/inputdevices.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/inputdevices.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/loadavg.h.svn-work b/arch/linux/ppc/.svn/props/loadavg.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/loadavg.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/memory.h.svn-work b/arch/linux/ppc/.svn/props/memory.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/memory.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/modules.h.svn-work b/arch/linux/ppc/.svn/props/modules.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/modules.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/net.h.svn-work b/arch/linux/ppc/.svn/props/net.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/net.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/nfs.h.svn-work b/arch/linux/ppc/.svn/props/nfs.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/nfs.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/os.h.svn-work b/arch/linux/ppc/.svn/props/os.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/os.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/pci.h.svn-work b/arch/linux/ppc/.svn/props/pci.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/pci.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/processor.h.svn-work b/arch/linux/ppc/.svn/props/processor.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/processor.h.svn-work
diff --git a/arch/linux/ppc/.svn/props/samba.h.svn-work b/arch/linux/ppc/.svn/props/samba.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/samba.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/sensors.h.svn-work b/arch/linux/ppc/.svn/props/sensors.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/sensors.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/storage.h.svn-work b/arch/linux/ppc/.svn/props/storage.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/storage.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/uptime.h.svn-work b/arch/linux/ppc/.svn/props/uptime.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/uptime.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/props/usb.h.svn-work b/arch/linux/ppc/.svn/props/usb.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/ppc/.svn/props/usb.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/ppc/.svn/text-base/alsa.h.svn-base b/arch/linux/ppc/.svn/text-base/alsa.h.svn-base
new file mode 100644
index 00000000..e17b92c3
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/alsa.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/alsa.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/filesystem.h.svn-base b/arch/linux/ppc/.svn/text-base/filesystem.h.svn-base
new file mode 100644
index 00000000..0d23c803
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/filesystem.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/filesystem.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/inputdevices.h.svn-base b/arch/linux/ppc/.svn/text-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..58695156
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/inputdevices.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/inputdevices.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/loadavg.h.svn-base b/arch/linux/ppc/.svn/text-base/loadavg.h.svn-base
new file mode 100644
index 00000000..354f872f
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/loadavg.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/loadavg.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/memory.h.svn-base b/arch/linux/ppc/.svn/text-base/memory.h.svn-base
new file mode 100644
index 00000000..2b2ad528
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/memory.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/memory.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/modules.h.svn-base b/arch/linux/ppc/.svn/text-base/modules.h.svn-base
new file mode 100644
index 00000000..d80f7d7a
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/modules.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/modules.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/net.h.svn-base b/arch/linux/ppc/.svn/text-base/net.h.svn-base
new file mode 100644
index 00000000..2b4ac97a
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/net.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/net.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/nfs.h.svn-base b/arch/linux/ppc/.svn/text-base/nfs.h.svn-base
new file mode 100644
index 00000000..c10bd829
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/nfs.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/os.h.svn-base b/arch/linux/ppc/.svn/text-base/os.h.svn-base
new file mode 100644
index 00000000..49613b1f
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/os.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/os.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/pci.h.svn-base b/arch/linux/ppc/.svn/text-base/pci.h.svn-base
new file mode 100644
index 00000000..2386d2ad
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/pci.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/pci.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/processor.h.svn-base b/arch/linux/ppc/.svn/text-base/processor.h.svn-base
new file mode 100644
index 00000000..f4ff5b0e
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/processor.h.svn-base
@@ -0,0 +1,78 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static Processor *
+computer_get_processor(void)
+{
+ Processor *processor;
+ FILE *cpuinfo;
+ gchar buffer[128];
+
+ cpuinfo = fopen("/proc/cpuinfo", "r");
+ if (!cpuinfo)
+ return NULL;
+
+ processor = g_new0(Processor, 1);
+ while (fgets(buffer, 128, cpuinfo)) {
+ gchar **tmp = g_strsplit(buffer, ":", 2);
+
+ if (tmp[0] && tmp[1]) {
+ tmp[0] = g_strstrip(tmp[0]);
+ tmp[1] = g_strstrip(tmp[1]);
+
+ get_str("cpu", processor->model_name);
+ get_str("machine", processor->vendor_id);
+ get_int("L2 cache", processor->cache_size);
+ get_float("clock", processor->cpu_mhz);
+ get_float("bogomips", processor->bogomips);
+
+ }
+ g_strfreev(tmp);
+ }
+
+ gchar *tmp = g_strconcat("PowerPC ", processor->model_name, NULL);
+ g_free(processor->model_name);
+ processor->model_name = tmp;
+
+ fclose(cpuinfo);
+
+ return processor;
+}
+
+static gchar *
+processor_get_info(Processor *processor)
+{
+ return g_strdup_printf("[Processor]\n"
+ "Machine=%s\n"
+ "CPU=%s\n"
+ "L2 Cache=%.2f\n"
+ "Frequency=%.2fMHz\n"
+ "BogoMips=%.2f"
+ "Byte Order=%s\n",
+ processor->vendor_id,
+ processor->model_name,
+ processor->cache_size,
+ processor->cpu_mhz,
+ processor->bogomips,
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+ "Little Endian"
+#else
+ "Big Endian"
+#endif
+ );
+}
diff --git a/arch/linux/ppc/.svn/text-base/samba.h.svn-base b/arch/linux/ppc/.svn/text-base/samba.h.svn-base
new file mode 100644
index 00000000..246e9ed0
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/samba.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/samba.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/sensors.h.svn-base b/arch/linux/ppc/.svn/text-base/sensors.h.svn-base
new file mode 100644
index 00000000..822de7b7
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/sensors.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/sensors.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/storage.h.svn-base b/arch/linux/ppc/.svn/text-base/storage.h.svn-base
new file mode 100644
index 00000000..24568f89
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/storage.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/storage.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/uptime.h.svn-base b/arch/linux/ppc/.svn/text-base/uptime.h.svn-base
new file mode 100644
index 00000000..25cc41e9
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/uptime.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/uptime.h \ No newline at end of file
diff --git a/arch/linux/ppc/.svn/text-base/usb.h.svn-base b/arch/linux/ppc/.svn/text-base/usb.h.svn-base
new file mode 100644
index 00000000..8aece87f
--- /dev/null
+++ b/arch/linux/ppc/.svn/text-base/usb.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/usb.h \ No newline at end of file
diff --git a/arch/linux/ppc/nfs.h b/arch/linux/ppc/nfs.h
new file mode 120000
index 00000000..3d1048da
--- /dev/null
+++ b/arch/linux/ppc/nfs.h
@@ -0,0 +1 @@
+../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/README.txt b/arch/linux/sparc/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/arch/linux/sparc/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/arch/linux/sparc/.svn/empty-file b/arch/linux/sparc/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/sparc/.svn/empty-file
diff --git a/arch/linux/sparc/.svn/entries b/arch/linux/sparc/.svn/entries
new file mode 100644
index 00000000..d52d0e04
--- /dev/null
+++ b/arch/linux/sparc/.svn/entries
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="4"
+ name=""
+ committed-date="2006-01-31T23:35:06.244169Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/arch/linux/sparc"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+<entry
+ committed-rev="4"
+ name="usb.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="0ed17ec7082ecf81bc512f4d2add7bec"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="sensors.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="ba83966be8f142e8f9fbed44bfc77b7a"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="inputdevices.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="1307b7aff245fa7fba84aa91f08d27fc"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"/>
+<entry
+ committed-rev="4"
+ name="uptime.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="760f1adef4fbcec7d74200abc3a4f6eb"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"/>
+<entry
+ committed-rev="4"
+ name="storage.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="602ef4aa9053cd983170660f53334cef"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"/>
+<entry
+ committed-rev="4"
+ name="modules.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="45dfbaaabb31981ac06e021773429228"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"/>
+<entry
+ committed-rev="4"
+ name="memory.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="765f1eed8d98b9bbb06c4c034ce9fa32"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"/>
+<entry
+ committed-rev="4"
+ name="pci.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="cab1a2936974aed489c107f3643b3484"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="loadavg.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="1c83a008e883018ff1092781358ec2da"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="processor.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="0e4fd7cef17e29f7ec00899e4ecef751"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="alsa.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="dc249687377b2de88793ee09bf54f1f1"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="os.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="048c3f4b338d765be4f10b5067d8b50e"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:27.000000Z"/>
+<entry
+ committed-rev="4"
+ name="samba.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="b541109072721d735717a33724ce9127"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"/>
+<entry
+ committed-rev="4"
+ name="filesystem.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="7f23b37be4cf5009414843bfe5c4e450"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"/>
+<entry
+ committed-rev="4"
+ name="net.h"
+ text-time="2006-05-20T14:29:28.000000Z"
+ committed-date="2006-01-31T23:35:06.244169Z"
+ checksum="22e5b201692010dee02e9562ce6cba1b"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:28.000000Z"/>
+<entry
+ committed-rev="13"
+ name="nfs.h"
+ text-time="2006-05-22T12:07:28.000000Z"
+ committed-date="2006-05-22T12:11:05.185078Z"
+ checksum="382976a6eab28131079a346dd16edcd7"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-22T12:07:36.000000Z"
+ revision="13"/>
+</wc-entries>
diff --git a/arch/linux/sparc/.svn/format b/arch/linux/sparc/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/arch/linux/sparc/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/arch/linux/sparc/.svn/prop-base/alsa.h.svn-base b/arch/linux/sparc/.svn/prop-base/alsa.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/alsa.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/filesystem.h.svn-base b/arch/linux/sparc/.svn/prop-base/filesystem.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/filesystem.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/inputdevices.h.svn-base b/arch/linux/sparc/.svn/prop-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/inputdevices.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/loadavg.h.svn-base b/arch/linux/sparc/.svn/prop-base/loadavg.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/loadavg.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/memory.h.svn-base b/arch/linux/sparc/.svn/prop-base/memory.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/memory.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/modules.h.svn-base b/arch/linux/sparc/.svn/prop-base/modules.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/modules.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/net.h.svn-base b/arch/linux/sparc/.svn/prop-base/net.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/net.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/nfs.h.svn-base b/arch/linux/sparc/.svn/prop-base/nfs.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/nfs.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/os.h.svn-base b/arch/linux/sparc/.svn/prop-base/os.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/os.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/pci.h.svn-base b/arch/linux/sparc/.svn/prop-base/pci.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/pci.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/processor.h.svn-base b/arch/linux/sparc/.svn/prop-base/processor.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/processor.h.svn-base
diff --git a/arch/linux/sparc/.svn/prop-base/samba.h.svn-base b/arch/linux/sparc/.svn/prop-base/samba.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/samba.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/sensors.h.svn-base b/arch/linux/sparc/.svn/prop-base/sensors.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/sensors.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/storage.h.svn-base b/arch/linux/sparc/.svn/prop-base/storage.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/storage.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/uptime.h.svn-base b/arch/linux/sparc/.svn/prop-base/uptime.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/uptime.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/prop-base/usb.h.svn-base b/arch/linux/sparc/.svn/prop-base/usb.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/prop-base/usb.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/alsa.h.svn-work b/arch/linux/sparc/.svn/props/alsa.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/alsa.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/filesystem.h.svn-work b/arch/linux/sparc/.svn/props/filesystem.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/filesystem.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/inputdevices.h.svn-work b/arch/linux/sparc/.svn/props/inputdevices.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/inputdevices.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/loadavg.h.svn-work b/arch/linux/sparc/.svn/props/loadavg.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/loadavg.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/memory.h.svn-work b/arch/linux/sparc/.svn/props/memory.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/memory.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/modules.h.svn-work b/arch/linux/sparc/.svn/props/modules.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/modules.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/net.h.svn-work b/arch/linux/sparc/.svn/props/net.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/net.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/nfs.h.svn-work b/arch/linux/sparc/.svn/props/nfs.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/nfs.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/os.h.svn-work b/arch/linux/sparc/.svn/props/os.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/os.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/pci.h.svn-work b/arch/linux/sparc/.svn/props/pci.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/pci.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/processor.h.svn-work b/arch/linux/sparc/.svn/props/processor.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/processor.h.svn-work
diff --git a/arch/linux/sparc/.svn/props/samba.h.svn-work b/arch/linux/sparc/.svn/props/samba.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/samba.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/sensors.h.svn-work b/arch/linux/sparc/.svn/props/sensors.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/sensors.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/storage.h.svn-work b/arch/linux/sparc/.svn/props/storage.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/storage.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/uptime.h.svn-work b/arch/linux/sparc/.svn/props/uptime.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/uptime.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/props/usb.h.svn-work b/arch/linux/sparc/.svn/props/usb.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/sparc/.svn/props/usb.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/sparc/.svn/text-base/alsa.h.svn-base b/arch/linux/sparc/.svn/text-base/alsa.h.svn-base
new file mode 100644
index 00000000..e17b92c3
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/alsa.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/alsa.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/filesystem.h.svn-base b/arch/linux/sparc/.svn/text-base/filesystem.h.svn-base
new file mode 100644
index 00000000..0d23c803
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/filesystem.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/filesystem.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/inputdevices.h.svn-base b/arch/linux/sparc/.svn/text-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..58695156
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/inputdevices.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/inputdevices.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/loadavg.h.svn-base b/arch/linux/sparc/.svn/text-base/loadavg.h.svn-base
new file mode 100644
index 00000000..354f872f
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/loadavg.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/loadavg.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/memory.h.svn-base b/arch/linux/sparc/.svn/text-base/memory.h.svn-base
new file mode 100644
index 00000000..2b2ad528
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/memory.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/memory.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/modules.h.svn-base b/arch/linux/sparc/.svn/text-base/modules.h.svn-base
new file mode 100644
index 00000000..d80f7d7a
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/modules.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/modules.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/net.h.svn-base b/arch/linux/sparc/.svn/text-base/net.h.svn-base
new file mode 100644
index 00000000..2b4ac97a
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/net.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/net.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/nfs.h.svn-base b/arch/linux/sparc/.svn/text-base/nfs.h.svn-base
new file mode 100644
index 00000000..c10bd829
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/nfs.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/os.h.svn-base b/arch/linux/sparc/.svn/text-base/os.h.svn-base
new file mode 100644
index 00000000..49613b1f
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/os.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/os.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/pci.h.svn-base b/arch/linux/sparc/.svn/text-base/pci.h.svn-base
new file mode 100644
index 00000000..2386d2ad
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/pci.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/pci.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/processor.h.svn-base b/arch/linux/sparc/.svn/text-base/processor.h.svn-base
new file mode 100644
index 00000000..211ea56b
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/processor.h.svn-base
@@ -0,0 +1,59 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+static Processor *
+computer_get_processor(void)
+{
+ Processor *processor;
+ FILE *cpuinfo;
+ gchar buffer[128];
+
+ cpuinfo = fopen("/proc/cpuinfo", "r");
+ if (!cpuinfo)
+ return NULL;
+
+ processor = g_new0(Processor, 1);
+ while (fgets(buffer, 128, cpuinfo)) {
+ gchar **tmp = g_strsplit(buffer, ":", 2);
+
+ if (tmp[0] && tmp[1]) {
+ tmp[0] = g_strstrip(tmp[0]);
+ tmp[1] = g_strstrip(tmp[1]);
+
+ get_str("cpu", processor->model_name);
+ get_str("fpu", processor->has_fpu);
+ }
+ g_strfreev(tmp);
+ }
+
+ get_processor_strfamily(processor);
+
+ fclose(cpuinfo);
+
+ return processor;
+}
+
+static gchar *
+processor_get_info(Processor *processor)
+{
+ return g_strdup_printf("[Processor]\n"
+ "CPU=%s\n"
+ "FPU=%s\n",
+ processor->model_name,
+ processor->has_fpu);
+}
diff --git a/arch/linux/sparc/.svn/text-base/samba.h.svn-base b/arch/linux/sparc/.svn/text-base/samba.h.svn-base
new file mode 100644
index 00000000..246e9ed0
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/samba.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/samba.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/sensors.h.svn-base b/arch/linux/sparc/.svn/text-base/sensors.h.svn-base
new file mode 100644
index 00000000..822de7b7
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/sensors.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/sensors.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/storage.h.svn-base b/arch/linux/sparc/.svn/text-base/storage.h.svn-base
new file mode 100644
index 00000000..24568f89
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/storage.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/storage.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/uptime.h.svn-base b/arch/linux/sparc/.svn/text-base/uptime.h.svn-base
new file mode 100644
index 00000000..25cc41e9
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/uptime.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/uptime.h \ No newline at end of file
diff --git a/arch/linux/sparc/.svn/text-base/usb.h.svn-base b/arch/linux/sparc/.svn/text-base/usb.h.svn-base
new file mode 100644
index 00000000..8aece87f
--- /dev/null
+++ b/arch/linux/sparc/.svn/text-base/usb.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/usb.h \ No newline at end of file
diff --git a/arch/linux/sparc/nfs.h b/arch/linux/sparc/nfs.h
new file mode 120000
index 00000000..3d1048da
--- /dev/null
+++ b/arch/linux/sparc/nfs.h
@@ -0,0 +1 @@
+../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/README.txt b/arch/linux/x86/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/arch/linux/x86/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/arch/linux/x86/.svn/empty-file b/arch/linux/x86/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/x86/.svn/empty-file
diff --git a/arch/linux/x86/.svn/entries b/arch/linux/x86/.svn/entries
new file mode 100644
index 00000000..098b3a34
--- /dev/null
+++ b/arch/linux/x86/.svn/entries
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="4"
+ name=""
+ committed-date="2006-01-31T23:35:06.244169Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/arch/linux/x86"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+<entry
+ committed-rev="1"
+ name="usb.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="0ed17ec7082ecf81bc512f4d2add7bec"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="1"
+ name="sensors.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="ba83966be8f142e8f9fbed44bfc77b7a"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="1"
+ name="inputdevices.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="1307b7aff245fa7fba84aa91f08d27fc"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="1"
+ name="uptime.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="760f1adef4fbcec7d74200abc3a4f6eb"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="1"
+ name="storage.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="602ef4aa9053cd983170660f53334cef"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="1"
+ name="memory.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="765f1eed8d98b9bbb06c4c034ce9fa32"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="1"
+ name="modules.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="45dfbaaabb31981ac06e021773429228"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="1"
+ name="pci.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="cab1a2936974aed489c107f3643b3484"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="1"
+ name="loadavg.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="1c83a008e883018ff1092781358ec2da"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="18"
+ name="processor.h"
+ text-time="2006-06-15T14:36:55.000000Z"
+ committed-date="2006-06-16T14:09:52.687901Z"
+ checksum="d9e2705aa2ed9d80913de5d5b4a025b0"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"
+ revision="18"/>
+<entry
+ committed-rev="1"
+ name="alsa.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="dc249687377b2de88793ee09bf54f1f1"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="1"
+ name="os.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="048c3f4b338d765be4f10b5067d8b50e"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="1"
+ name="samba.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="b541109072721d735717a33724ce9127"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="1"
+ name="filesystem.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="7f23b37be4cf5009414843bfe5c4e450"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="3"
+ name="net.h"
+ text-time="2006-05-20T14:29:23.000000Z"
+ committed-date="2006-01-26T19:39:15.288417Z"
+ checksum="22e5b201692010dee02e9562ce6cba1b"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:23.000000Z"/>
+<entry
+ committed-rev="13"
+ name="nfs.h"
+ text-time="2006-05-22T12:06:58.000000Z"
+ committed-date="2006-05-22T12:11:05.185078Z"
+ checksum="382976a6eab28131079a346dd16edcd7"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-22T12:07:36.000000Z"
+ revision="13"/>
+</wc-entries>
diff --git a/arch/linux/x86/.svn/format b/arch/linux/x86/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/arch/linux/x86/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/arch/linux/x86/.svn/prop-base/alsa.h.svn-base b/arch/linux/x86/.svn/prop-base/alsa.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/alsa.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/filesystem.h.svn-base b/arch/linux/x86/.svn/prop-base/filesystem.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/filesystem.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/inputdevices.h.svn-base b/arch/linux/x86/.svn/prop-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/inputdevices.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/loadavg.h.svn-base b/arch/linux/x86/.svn/prop-base/loadavg.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/loadavg.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/memory.h.svn-base b/arch/linux/x86/.svn/prop-base/memory.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/memory.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/modules.h.svn-base b/arch/linux/x86/.svn/prop-base/modules.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/modules.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/net.h.svn-base b/arch/linux/x86/.svn/prop-base/net.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/net.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/nfs.h.svn-base b/arch/linux/x86/.svn/prop-base/nfs.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/nfs.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/os.h.svn-base b/arch/linux/x86/.svn/prop-base/os.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/os.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/pci.h.svn-base b/arch/linux/x86/.svn/prop-base/pci.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/pci.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/processor.h.svn-base b/arch/linux/x86/.svn/prop-base/processor.h.svn-base
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/processor.h.svn-base
diff --git a/arch/linux/x86/.svn/prop-base/samba.h.svn-base b/arch/linux/x86/.svn/prop-base/samba.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/samba.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/sensors.h.svn-base b/arch/linux/x86/.svn/prop-base/sensors.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/sensors.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/storage.h.svn-base b/arch/linux/x86/.svn/prop-base/storage.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/storage.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/uptime.h.svn-base b/arch/linux/x86/.svn/prop-base/uptime.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/uptime.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/prop-base/usb.h.svn-base b/arch/linux/x86/.svn/prop-base/usb.h.svn-base
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/prop-base/usb.h.svn-base
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/alsa.h.svn-work b/arch/linux/x86/.svn/props/alsa.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/alsa.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/filesystem.h.svn-work b/arch/linux/x86/.svn/props/filesystem.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/filesystem.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/inputdevices.h.svn-work b/arch/linux/x86/.svn/props/inputdevices.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/inputdevices.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/loadavg.h.svn-work b/arch/linux/x86/.svn/props/loadavg.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/loadavg.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/memory.h.svn-work b/arch/linux/x86/.svn/props/memory.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/memory.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/modules.h.svn-work b/arch/linux/x86/.svn/props/modules.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/modules.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/net.h.svn-work b/arch/linux/x86/.svn/props/net.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/net.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/nfs.h.svn-work b/arch/linux/x86/.svn/props/nfs.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/nfs.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/os.h.svn-work b/arch/linux/x86/.svn/props/os.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/os.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/pci.h.svn-work b/arch/linux/x86/.svn/props/pci.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/pci.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/processor.h.svn-work b/arch/linux/x86/.svn/props/processor.h.svn-work
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arch/linux/x86/.svn/props/processor.h.svn-work
diff --git a/arch/linux/x86/.svn/props/samba.h.svn-work b/arch/linux/x86/.svn/props/samba.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/samba.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/sensors.h.svn-work b/arch/linux/x86/.svn/props/sensors.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/sensors.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/storage.h.svn-work b/arch/linux/x86/.svn/props/storage.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/storage.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/uptime.h.svn-work b/arch/linux/x86/.svn/props/uptime.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/uptime.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/props/usb.h.svn-work b/arch/linux/x86/.svn/props/usb.h.svn-work
new file mode 100644
index 00000000..d2224698
--- /dev/null
+++ b/arch/linux/x86/.svn/props/usb.h.svn-work
@@ -0,0 +1,5 @@
+K 11
+svn:special
+V 1
+*
+END
diff --git a/arch/linux/x86/.svn/text-base/alsa.h.svn-base b/arch/linux/x86/.svn/text-base/alsa.h.svn-base
new file mode 100644
index 00000000..e17b92c3
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/alsa.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/alsa.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/filesystem.h.svn-base b/arch/linux/x86/.svn/text-base/filesystem.h.svn-base
new file mode 100644
index 00000000..0d23c803
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/filesystem.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/filesystem.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/inputdevices.h.svn-base b/arch/linux/x86/.svn/text-base/inputdevices.h.svn-base
new file mode 100644
index 00000000..58695156
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/inputdevices.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/inputdevices.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/loadavg.h.svn-base b/arch/linux/x86/.svn/text-base/loadavg.h.svn-base
new file mode 100644
index 00000000..354f872f
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/loadavg.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/loadavg.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/memory.h.svn-base b/arch/linux/x86/.svn/text-base/memory.h.svn-base
new file mode 100644
index 00000000..2b2ad528
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/memory.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/memory.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/modules.h.svn-base b/arch/linux/x86/.svn/text-base/modules.h.svn-base
new file mode 100644
index 00000000..d80f7d7a
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/modules.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/modules.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/net.h.svn-base b/arch/linux/x86/.svn/text-base/net.h.svn-base
new file mode 100644
index 00000000..2b4ac97a
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/net.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/net.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/nfs.h.svn-base b/arch/linux/x86/.svn/text-base/nfs.h.svn-base
new file mode 100644
index 00000000..c10bd829
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/nfs.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/os.h.svn-base b/arch/linux/x86/.svn/text-base/os.h.svn-base
new file mode 100644
index 00000000..49613b1f
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/os.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/os.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/pci.h.svn-base b/arch/linux/x86/.svn/text-base/pci.h.svn-base
new file mode 100644
index 00000000..2386d2ad
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/pci.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/pci.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/processor.h.svn-base b/arch/linux/x86/.svn/text-base/processor.h.svn-base
new file mode 100644
index 00000000..aba623bf
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/processor.h.svn-base
@@ -0,0 +1,303 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/*
+ * This function is partly based on x86cpucaps
+ * by Osamu Kayasono <jacobi@jcom.home.ne.jp>
+ */
+static void
+get_processor_strfamily(Processor *processor)
+{
+ gint family = processor->family;
+ gint model = processor->model;
+
+ if (g_str_equal(processor->vendor_id, "GenuineIntel")) {
+ if (family == 4) {
+ processor->strmodel = g_strdup("i486 series");
+ } else if (family == 5) {
+ if (model < 4) {
+ processor->strmodel = g_strdup("Pentium Classic");
+ } else {
+ processor->strmodel = g_strdup("Pentium MMX");
+ }
+ } else if (family == 6) {
+ if (model <= 1) {
+ processor->strmodel = g_strdup("Pentium Pro");
+ } else if (model < 7) {
+ processor->strmodel = g_strdup("Pentium II/Pentium II Xeon/Celeron");
+ } else if (model == 9) {
+ processor->strmodel = g_strdup("Pentium M");
+ } else {
+ processor->strmodel = g_strdup("Pentium III/Pentium III Xeon/Celeron");
+ }
+ } else if (family > 6) {
+ processor->strmodel = g_strdup("Pentium 4");
+ } else {
+ processor->strmodel = g_strdup("i386 class");
+ }
+ } else if (g_str_equal(processor->vendor_id, "AuthenticAMD")) {
+ if (family == 4) {
+ if (model <= 9) {
+ processor->strmodel = g_strdup("AMD i80486 series");
+ } else {
+ processor->strmodel = g_strdup("AMD 5x86");
+ }
+ } else if (family == 5) {
+ if (model <= 3) {
+ processor->strmodel = g_strdup("AMD K5");
+ } else if (model <= 7) {
+ processor->strmodel = g_strdup("AMD K6");
+ } else if (model == 8) {
+ processor->strmodel = g_strdup("AMD K6-2");
+ } else if (model == 9) {
+ processor->strmodel = g_strdup("AMD K6-III");
+ } else {
+ processor->strmodel = g_strdup("AMD K6-2+/III+");
+ }
+ } else if (family == 6) {
+ if (model == 1) {
+ processor->strmodel = g_strdup("AMD Athlon (K7");
+ } else if (model == 2) {
+ processor->strmodel = g_strdup("AMD Athlon (K75)");
+ } else if (model == 3) {
+ processor->strmodel = g_strdup("AMD Duron (Spitfire)");
+ } else if (model == 4) {
+ processor->strmodel = g_strdup("AMD Athlon (Thunderbird)");
+ } else if (model == 6) {
+ processor->strmodel = g_strdup("AMD Athlon XP/MP/4 (Palomino)");
+ } else if (model == 7) {
+ processor->strmodel = g_strdup("AMD Duron (Morgan)");
+ } else if (model == 8) {
+ processor->strmodel = g_strdup("AMD Athlon XP/MP (Thoroughbred)");
+ } else if (model == 10) {
+ processor->strmodel = g_strdup("AMD Athlon XP/MP (Barton)");
+ } else {
+ processor->strmodel = g_strdup("AMD Athlon (unknown)");
+ }
+ } else if (family > 6) {
+ processor->strmodel = g_strdup("AMD Opteron/Athlon64/FX");
+ } else {
+ processor->strmodel = g_strdup("AMD i386 class");
+ }
+ } else if (g_str_equal(processor->vendor_id, "CyrixInstead")) {
+ if (family == 4) {
+ processor->strmodel = g_strdup("Cyrix 5x86");
+ } else if (family == 5) {
+ processor->strmodel = g_strdup("Cyrix M1 (6x86)");
+ } else if (family == 6) {
+ if (model == 0) {
+ processor->strmodel = g_strdup("Cyrix M2 (6x86MX)");
+ } else if (model <= 5) {
+ processor->strmodel = g_strdup("VIA Cyrix III (M2 core)");
+ } else if (model == 6) {
+ processor->strmodel = g_strdup("VIA Cyrix III (WinChip C5A)");
+ } else if (model == 7) {
+ processor->strmodel = g_strdup("VIA Cyrix III (WinChip C5B/C)");
+ } else {
+ processor->strmodel = g_strdup("VIA Cyrix III (WinChip C5C-T)");
+ }
+ } else {
+ processor->strmodel = g_strdup("Cyrix i386 class");
+ }
+ } else if (g_str_equal(processor->vendor_id, "CentaurHauls")) {
+ if (family == 5) {
+ if (model <= 4) {
+ processor->strmodel = g_strdup("Centaur WinChip C6");
+ } else if (model <= 8) {
+ processor->strmodel = g_strdup("Centaur WinChip 2");
+ } else {
+ processor->strmodel = g_strdup("Centaur WinChip 2A");
+ }
+ } else {
+ processor->strmodel = g_strdup("Centaur i386 class");
+ }
+ } else if (g_str_equal(processor->vendor_id, "GenuineTMx86")) {
+ processor->strmodel = g_strdup("Transmeta Crusoe TM3x00/5x00");
+ } else {
+ processor->strmodel = g_strdup("Unknown");
+ }
+}
+
+static Processor *
+computer_get_processor(void)
+{
+ Processor *processor;
+ FILE *cpuinfo;
+ gchar buffer[128];
+
+ cpuinfo = fopen("/proc/cpuinfo", "r");
+ if (!cpuinfo)
+ return NULL;
+
+ processor = g_new0(Processor, 1);
+ while (fgets(buffer, 128, cpuinfo)) {
+ gchar **tmp = g_strsplit(buffer, ":", 2);
+
+ if (tmp[0] && tmp[1]) {
+ tmp[0] = g_strstrip(tmp[0]);
+ tmp[1] = g_strstrip(tmp[1]);
+
+ get_str("model name", processor->model_name);
+ get_str("vendor_id", processor->vendor_id);
+ get_str("flags", processor->flags);
+ get_int("cache size", processor->cache_size);
+ get_float("cpu MHz", processor->cpu_mhz);
+ get_float("bogomips", processor->bogomips);
+
+ get_str("fpu", processor->has_fpu);
+
+ get_str("fdiv_bug", processor->bug_fdiv);
+ get_str("hlt_bug", processor->bug_hlt);
+ get_str("f00f_bug", processor->bug_f00f);
+ get_str("coma_bug", processor->bug_coma);
+
+ get_int("model", processor->model);
+ get_int("cpu family", processor->family);
+ get_int("stepping", processor->stepping);
+ }
+ g_strfreev(tmp);
+ }
+
+ get_processor_strfamily(processor);
+
+ fclose(cpuinfo);
+
+ return processor;
+}
+
+static struct {
+ char *name, *meaning;
+} flag_meaning[] = {
+ { "3dnow", "3DNow! Technology" },
+ { "3dnowext", "Extended 3DNow! Technology" },
+ { "fpu", "Floating Point Unit" },
+ { "vme", "Virtual 86 Mode Extension" },
+ { "de", "Debug Extensions - I/O breakpoints" },
+ { "pse", "Page Size Extensions (4MB pages)" },
+ { "tsc", "Time Stamp Counter and RDTSC instruction" },
+ { "msr", "Model Specific Registers" },
+ { "pae", "Physical Address Extensions (36-bit address, 2MB pages)" },
+ { "mce", "Machine Check Architeture" },
+ { "cx8", "CMPXCHG8 instruction" },
+ { "apic", "Advanced Programmable Interrupt Controller" },
+ { "sep", "Fast System Call (SYSENTER/SYSEXIT instructions)" },
+ { "mtrr", "Memory Type Range Registers" },
+ { "pge", "Page Global Enable" },
+ { "mca", "Machine Check Architecture" },
+ { "cmov", "Conditional Move instruction" },
+ { "pat", "Page Attribute Table" },
+ { "pse36", "36bit Page Size Extensions" },
+ { "psn", "96 bit Processor Serial Number" },
+ { "mmx", "MMX technology" },
+ { "mmxext", "Extended MMX Technology" },
+ { "cflush", "Cache Flush" },
+ { "dtes", "Debug Trace Store" },
+ { "fxsr", "FXSAVE and FXRSTOR instructions" },
+ { "kni", "Streaming SIMD instructions" },
+ { "xmm", "Streaming SIMD instructions" },
+ { "ht", "HyperThreading" },
+ { "mp", "Multiprocessing Capable" },
+ { "sse", "SSE instructions" },
+ { "sse2", "SSE2 (WNI) instructions" },
+ { "acc", "Automatic Clock Control" },
+ { "ia64", "IA64 Instructions" },
+ { "syscall", "SYSCALL and SYSEXIT instructions" },
+ { "nx", "No-execute Page Protection" },
+ { "xd", "Execute Disable" },
+ { "clflush", "Cache Line Flush instruction" },
+ { "acpi", "Thermal Monitor and Software Controlled Clock Facilities" },
+ { "dts", "Debug Store" },
+ { "ss", "Self Snoop" },
+ { "tm", "Thermal Monitor" },
+ { "pbe", "Pending Break Enable" },
+ { "pb", "Pending Break Enable" },
+ { NULL, NULL}
+};
+
+gchar *
+processor_get_capabilities_from_flags(gchar * strflags)
+{
+ /* FIXME: * Separate between processor capabilities, additional instructions and whatnot. */
+ gchar **flags, **old;
+ gchar *tmp = "";
+ gint i, j = 0;
+
+ flags = g_strsplit(strflags, " ", 0);
+ old = flags;
+
+ while (flags[j]) {
+ gchar *meaning = "";
+ for (i = 0; flag_meaning[i].name != NULL; i++) {
+ if (!strcmp(flags[j], flag_meaning[i].name)) {
+ meaning = flag_meaning[i].meaning;
+ break;
+ }
+ }
+
+ tmp = g_strdup_printf("%s%s=%s\n", tmp, flags[j], meaning);
+ j++;
+ }
+
+ g_strfreev(old);
+ return tmp;
+}
+
+static gchar *
+processor_get_info(Processor *processor)
+{
+ gchar *tmp = processor_get_capabilities_from_flags(processor->
+ flags);
+ gchar *ret = g_strdup_printf("[Processor]\n"
+ "Name=%s\n"
+ "Specification=%s\n"
+ "Family, model, stepping=%d, %d, %d\n"
+ "Vendor=%s\n"
+ "Cache Size=%dkb\n"
+ "Frequency=%.2fMHz\n"
+ "BogoMips=%.2f\n"
+ "Byte Order=%s\n"
+ "[Features]\n"
+ "FDIV Bug=%s\n"
+ "HLT Bug=%s\n"
+ "F00F Bug=%s\n"
+ "Coma Bug=%s\n"
+ "Has FPU=%s\n"
+ "[Capabilities]\n" "%s",
+ processor->strmodel,
+ processor->model_name,
+ processor->family,
+ processor->model,
+ processor->stepping,
+ processor->vendor_id,
+ processor->cache_size,
+ processor->cpu_mhz,
+ processor->bogomips,
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+ "Little Endian",
+#else
+ "Big Endian",
+#endif
+ processor->bug_fdiv,
+ processor->bug_hlt,
+ processor->bug_f00f,
+ processor->bug_coma,
+ processor->has_fpu,
+ tmp);
+ g_free(tmp);
+ return ret;
+}
diff --git a/arch/linux/x86/.svn/text-base/samba.h.svn-base b/arch/linux/x86/.svn/text-base/samba.h.svn-base
new file mode 100644
index 00000000..246e9ed0
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/samba.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/samba.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/sensors.h.svn-base b/arch/linux/x86/.svn/text-base/sensors.h.svn-base
new file mode 100644
index 00000000..822de7b7
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/sensors.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/sensors.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/storage.h.svn-base b/arch/linux/x86/.svn/text-base/storage.h.svn-base
new file mode 100644
index 00000000..24568f89
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/storage.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/storage.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/uptime.h.svn-base b/arch/linux/x86/.svn/text-base/uptime.h.svn-base
new file mode 100644
index 00000000..25cc41e9
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/uptime.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/uptime.h \ No newline at end of file
diff --git a/arch/linux/x86/.svn/text-base/usb.h.svn-base b/arch/linux/x86/.svn/text-base/usb.h.svn-base
new file mode 100644
index 00000000..8aece87f
--- /dev/null
+++ b/arch/linux/x86/.svn/text-base/usb.h.svn-base
@@ -0,0 +1 @@
+link ../../linux/common/usb.h \ No newline at end of file
diff --git a/arch/linux/x86/nfs.h b/arch/linux/x86/nfs.h
new file mode 120000
index 00000000..3d1048da
--- /dev/null
+++ b/arch/linux/x86/nfs.h
@@ -0,0 +1 @@
+../../linux/common/nfs.h \ No newline at end of file
diff --git a/arch/linux/x86/processor.h b/arch/linux/x86/processor.h
index 571943f6..aba623bf 100644
--- a/arch/linux/x86/processor.h
+++ b/arch/linux/x86/processor.h
@@ -235,22 +235,22 @@ processor_get_capabilities_from_flags(gchar * strflags)
/* FIXME: * Separate between processor capabilities, additional instructions and whatnot. */
gchar **flags, **old;
gchar *tmp = "";
- gint i;
+ gint i, j = 0;
flags = g_strsplit(strflags, " ", 0);
old = flags;
- while (*flags) {
+ while (flags[j]) {
gchar *meaning = "";
for (i = 0; flag_meaning[i].name != NULL; i++) {
- if (!strcmp(*flags, flag_meaning[i].name)) {
+ if (!strcmp(flags[j], flag_meaning[i].name)) {
meaning = flag_meaning[i].meaning;
break;
}
}
- tmp = g_strdup_printf("%s%s=%s\n", tmp, *flags, meaning);
- *flags++;
+ tmp = g_strdup_printf("%s%s=%s\n", tmp, flags[j], meaning);
+ j++;
}
g_strfreev(old);
diff --git a/benchmark.c b/benchmark.c
index f4cb904c..d66d0b8c 100644
--- a/benchmark.c
+++ b/benchmark.c
@@ -20,6 +20,7 @@
#include <iconcache.h>
#include <shell.h>
#include <config.h>
+#include <binreloc.h>
enum {
BENCHMARK_ZLIB,
@@ -41,11 +42,13 @@ static gchar *
benchmark_include_results(gchar *results, const gchar *benchmark)
{
GKeyFile *conf;
- gchar **machines;
+ gchar **machines, *bconf_path;
int i;
conf = g_key_file_new();
- g_key_file_load_from_file(conf, PREFIX "benchmark.conf", 0, NULL);
+ bconf_path = g_strdup_printf("%s/hardinfo/benchmark.conf",
+ gbr_find_data_dir(PREFIX));
+ g_key_file_load_from_file(conf, bconf_path, 0, NULL);
machines = g_key_file_get_keys(conf, benchmark, NULL, NULL);
for (i = 0; machines && machines[i]; i++) {
@@ -56,6 +59,7 @@ benchmark_include_results(gchar *results, const gchar *benchmark)
g_strfreev(machines);
g_key_file_free(conf);
+ g_free(bconf_path);
return g_strconcat(results, "[$ShellParam$]\n"
"Zebra=1\n", NULL);
diff --git a/binreloc.c b/binreloc.c
new file mode 100644
index 00000000..a3b95e3e
--- /dev/null
+++ b/binreloc.c
@@ -0,0 +1,682 @@
+/*
+ * BinReloc - a library for creating relocatable executables
+ * Written by: Hongli Lai <h.lai@chello.nl>
+ * http://autopackage.org/
+ *
+ * This source code is public domain. You can relicense this code
+ * under whatever license you want.
+ *
+ * See http://autopackage.org/docs/binreloc/ for
+ * more information and how to use this.
+ */
+
+#ifndef __BINRELOC_C__
+#define __BINRELOC_C__
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+#include <string.h>
+#include "binreloc.h"
+
+G_BEGIN_DECLS
+
+
+/** @internal
+ * Find the canonical filename of the executable. Returns the filename
+ * (which must be freed) or NULL on error. If the parameter 'error' is
+ * not NULL, the error code will be stored there, if an error occured.
+ */
+static char *
+_br_find_exe (GbrInitError *error)
+{
+ char *path, *path2, *line, *result;
+ size_t buf_size;
+ ssize_t size;
+ struct stat stat_buf;
+ FILE *f;
+
+ /* Read from /proc/self/exe (symlink) */
+ if (sizeof (path) > SSIZE_MAX)
+ buf_size = SSIZE_MAX - 1;
+ else
+ buf_size = PATH_MAX - 1;
+ path = (char *) g_try_malloc (buf_size);
+ if (path == NULL) {
+ /* Cannot allocate memory. */
+ if (error)
+ *error = GBR_INIT_ERROR_NOMEM;
+ return NULL;
+ }
+ path2 = (char *) g_try_malloc (buf_size);
+ if (path2 == NULL) {
+ /* Cannot allocate memory. */
+ if (error)
+ *error = GBR_INIT_ERROR_NOMEM;
+ g_free (path);
+ return NULL;
+ }
+
+ strncpy (path2, "/proc/self/exe", buf_size - 1);
+
+ while (1) {
+ int i;
+
+ size = readlink (path2, path, buf_size - 1);
+ if (size == -1) {
+ /* Error. */
+ g_free (path2);
+ break;
+ }
+
+ /* readlink() success. */
+ path[size] = '\0';
+
+ /* Check whether the symlink's target is also a symlink.
+ * We want to get the final target. */
+ i = stat (path, &stat_buf);
+ if (i == -1) {
+ /* Error. */
+ g_free (path2);
+ break;
+ }
+
+ /* stat() success. */
+ if (!S_ISLNK (stat_buf.st_mode)) {
+ /* path is not a symlink. Done. */
+ g_free (path2);
+ return path;
+ }
+
+ /* path is a symlink. Continue loop and resolve this. */
+ strncpy (path, path2, buf_size - 1);
+ }
+
+
+ /* readlink() or stat() failed; this can happen when the program is
+ * running in Valgrind 2.2. Read from /proc/self/maps as fallback. */
+
+ buf_size = PATH_MAX + 128;
+ line = (char *) g_try_realloc (path, buf_size);
+ if (line == NULL) {
+ /* Cannot allocate memory. */
+ g_free (path);
+ if (error)
+ *error = GBR_INIT_ERROR_NOMEM;
+ return NULL;
+ }
+
+ f = fopen ("/proc/self/maps", "r");
+ if (f == NULL) {
+ g_free (line);
+ if (error)
+ *error = GBR_INIT_ERROR_OPEN_MAPS;
+ return NULL;
+ }
+
+ /* The first entry should be the executable name. */
+ result = fgets (line, (int) buf_size, f);
+ if (result == NULL) {
+ fclose (f);
+ g_free (line);
+ if (error)
+ *error = GBR_INIT_ERROR_READ_MAPS;
+ return NULL;
+ }
+
+ /* Get rid of newline character. */
+ buf_size = strlen (line);
+ if (buf_size <= 0) {
+ /* Huh? An empty string? */
+ fclose (f);
+ g_free (line);
+ if (error)
+ *error = GBR_INIT_ERROR_INVALID_MAPS;
+ return NULL;
+ }
+ if (line[buf_size - 1] == 10)
+ line[buf_size - 1] = 0;
+
+ /* Extract the filename; it is always an absolute path. */
+ path = strchr (line, '/');
+
+ /* Sanity check. */
+ if (strstr (line, " r-xp ") == NULL || path == NULL) {
+ fclose (f);
+ g_free (line);
+ if (error)
+ *error = GBR_INIT_ERROR_INVALID_MAPS;
+ return NULL;
+ }
+
+ path = g_strdup (path);
+ g_free (line);
+ fclose (f);
+ return path;
+}
+
+
+/** @internal
+ * Find the canonical filename of the executable which owns symbol.
+ * Returns a filename which must be freed, or NULL on error.
+ */
+static char *
+_br_find_exe_for_symbol (const void *symbol, GbrInitError *error)
+{
+ #define SIZE PATH_MAX + 100
+ FILE *f;
+ size_t address_string_len;
+ char *address_string, line[SIZE], *found;
+
+ if (symbol == NULL)
+ return (char *) NULL;
+
+ f = fopen ("/proc/self/maps", "r");
+ if (f == NULL)
+ return (char *) NULL;
+
+ address_string_len = 4;
+ address_string = (char *) g_try_malloc (address_string_len);
+ found = (char *) NULL;
+
+ while (!feof (f)) {
+ char *start_addr, *end_addr, *end_addr_end, *file;
+ void *start_addr_p, *end_addr_p;
+ size_t len;
+
+ if (fgets (line, SIZE, f) == NULL)
+ break;
+
+ /* Sanity check. */
+ if (strstr (line, " r-xp ") == NULL || strchr (line, '/') == NULL)
+ continue;
+
+ /* Parse line. */
+ start_addr = line;
+ end_addr = strchr (line, '-');
+ file = strchr (line, '/');
+
+ /* More sanity check. */
+ if (!(file > end_addr && end_addr != NULL && end_addr[0] == '-'))
+ continue;
+
+ end_addr[0] = '\0';
+ end_addr++;
+ end_addr_end = strchr (end_addr, ' ');
+ if (end_addr_end == NULL)
+ continue;
+
+ end_addr_end[0] = '\0';
+ len = strlen (file);
+ if (len == 0)
+ continue;
+ if (file[len - 1] == '\n')
+ file[len - 1] = '\0';
+
+ /* Get rid of "(deleted)" from the filename. */
+ len = strlen (file);
+ if (len > 10 && strcmp (file + len - 10, " (deleted)") == 0)
+ file[len - 10] = '\0';
+
+ /* I don't know whether this can happen but better safe than sorry. */
+ len = strlen (start_addr);
+ if (len != strlen (end_addr))
+ continue;
+
+
+ /* Transform the addresses into a string in the form of 0xdeadbeef,
+ * then transform that into a pointer. */
+ if (address_string_len < len + 3) {
+ address_string_len = len + 3;
+ address_string = (char *) g_try_realloc (address_string, address_string_len);
+ }
+
+ memcpy (address_string, "0x", 2);
+ memcpy (address_string + 2, start_addr, len);
+ address_string[2 + len] = '\0';
+ sscanf (address_string, "%p", &start_addr_p);
+
+ memcpy (address_string, "0x", 2);
+ memcpy (address_string + 2, end_addr, len);
+ address_string[2 + len] = '\0';
+ sscanf (address_string, "%p", &end_addr_p);
+
+
+ if (symbol >= start_addr_p && symbol < end_addr_p) {
+ found = file;
+ break;
+ }
+ }
+
+ g_free (address_string);
+ fclose (f);
+
+ if (found == NULL)
+ return (char *) NULL;
+ else
+ return g_strdup (found);
+}
+
+
+static gchar *exe = NULL;
+
+static void set_gerror (GError **error, GbrInitError errcode);
+
+
+/** Initialize the BinReloc library (for applications).
+ *
+ * This function must be called before using any other BinReloc functions.
+ * It attempts to locate the application's canonical filename.
+ *
+ * @note If you want to use BinReloc for a library, then you should call
+ * gbr_init_lib() instead.
+ *
+ * @param error If BinReloc failed to initialize, then the error report will
+ * be stored in this variable. Set to NULL if you don't want an
+ * error report. See the #GbrInitError for a list of error
+ * codes.
+ *
+ * @returns TRUE on success, FALSE if BinReloc failed to initialize.
+ */
+gboolean
+gbr_init (GError **error)
+{
+ GbrInitError errcode = 0;
+
+ /* Locate the application's filename. */
+ exe = _br_find_exe (&errcode);
+ if (exe != NULL)
+ /* Success! */
+ return TRUE;
+ else {
+ /* Failed :-( */
+ set_gerror (error, errcode);
+ return FALSE;
+ }
+}
+
+
+/** Initialize the BinReloc library (for libraries).
+ *
+ * This function must be called before using any other BinReloc functions.
+ * It attempts to locate the calling library's canonical filename.
+ *
+ * @note The BinReloc source code MUST be included in your library, or this
+ * function won't work correctly.
+ *
+ * @returns TRUE on success, FALSE if a filename cannot be found.
+ */
+gboolean
+gbr_init_lib (GError **error)
+{
+ GbrInitError errcode = 0;
+
+ exe = _br_find_exe_for_symbol ((const void *) "", &errcode);
+ if (exe != NULL)
+ /* Success! */
+ return TRUE;
+ else {
+ /* Failed :-( */
+ set_gerror (error, errcode);
+ return exe != NULL;
+ }
+}
+
+
+static void
+set_gerror (GError **error, GbrInitError errcode)
+{
+ gchar *error_message;
+
+ if (error == NULL)
+ return;
+
+ switch (errcode) {
+ case GBR_INIT_ERROR_NOMEM:
+ error_message = "Cannot allocate memory.";
+ break;
+ case GBR_INIT_ERROR_OPEN_MAPS:
+ error_message = "Unable to open /proc/self/maps for reading.";
+ break;
+ case GBR_INIT_ERROR_READ_MAPS:
+ error_message = "Unable to read from /proc/self/maps.";
+ break;
+ case GBR_INIT_ERROR_INVALID_MAPS:
+ error_message = "The file format of /proc/self/maps is invalid.";
+ break;
+ case GBR_INIT_ERROR_DISABLED:
+ error_message = "Binary relocation support is disabled.";
+ break;
+ default:
+ error_message = "Unknown error.";
+ break;
+ };
+ g_set_error (error, g_quark_from_static_string ("GBinReloc"),
+ errcode, "%s", error_message);
+}
+
+
+/** Find the canonical filename of the current application.
+ *
+ * @param default_exe A default filename which will be used as fallback.
+ * @returns A string containing the application's canonical filename,
+ * which must be freed when no longer necessary. If BinReloc is
+ * not initialized, or if the initialization function failed,
+ * then a copy of default_exe will be returned. If default_exe
+ * is NULL, then NULL will be returned.
+ */
+gchar *
+gbr_find_exe (const gchar *default_exe)
+{
+ if (exe == NULL) {
+ /* BinReloc is not initialized. */
+ if (default_exe != NULL)
+ return g_strdup (default_exe);
+ else
+ return NULL;
+ }
+ return g_strdup (exe);
+}
+
+
+/** Locate the directory in which the current application is installed.
+ *
+ * The prefix is generated by the following pseudo-code evaluation:
+ * \code
+ * dirname(exename)
+ * \endcode
+ *
+ * @param default_dir A default directory which will used as fallback.
+ * @return A string containing the directory, which must be freed when no
+ * longer necessary. If BinReloc is not initialized, or if the
+ * initialization function failed, then a copy of default_dir
+ * will be returned. If default_dir is NULL, then NULL will be
+ * returned.
+ */
+gchar *
+gbr_find_exe_dir (const gchar *default_dir)
+{
+ if (exe == NULL) {
+ /* BinReloc not initialized. */
+ if (default_dir != NULL)
+ return g_strdup (default_dir);
+ else
+ return NULL;
+ }
+
+ return g_path_get_dirname (exe);
+}
+
+
+/** Locate the prefix in which the current application is installed.
+ *
+ * The prefix is generated by the following pseudo-code evaluation:
+ * \code
+ * dirname(dirname(exename))
+ * \endcode
+ *
+ * @param default_prefix A default prefix which will used as fallback.
+ * @return A string containing the prefix, which must be freed when no
+ * longer necessary. If BinReloc is not initialized, or if the
+ * initialization function failed, then a copy of default_prefix
+ * will be returned. If default_prefix is NULL, then NULL will be
+ * returned.
+ */
+gchar *
+gbr_find_prefix (const gchar *default_prefix)
+{
+ gchar *dir1, *dir2;
+
+ if (exe == NULL) {
+ /* BinReloc not initialized. */
+ if (default_prefix != NULL)
+ return g_strdup (default_prefix);
+ else
+ return NULL;
+ }
+
+ dir1 = g_path_get_dirname (exe);
+ dir2 = g_path_get_dirname (dir1);
+ g_free (dir1);
+ return dir2;
+}
+
+
+/** Locate the application's binary folder.
+ *
+ * The path is generated by the following pseudo-code evaluation:
+ * \code
+ * prefix + "/bin"
+ * \endcode
+ *
+ * @param default_bin_dir A default path which will used as fallback.
+ * @return A string containing the bin folder's path, which must be freed when
+ * no longer necessary. If BinReloc is not initialized, or if the
+ * initialization function failed, then a copy of default_bin_dir will
+ * be returned. If default_bin_dir is NULL, then NULL will be returned.
+ */
+gchar *
+gbr_find_bin_dir (const gchar *default_bin_dir)
+{
+ gchar *prefix, *dir;
+
+ prefix = gbr_find_prefix (NULL);
+ if (prefix == NULL) {
+ /* BinReloc not initialized. */
+ if (default_bin_dir != NULL)
+ return g_strdup (default_bin_dir);
+ else
+ return NULL;
+ }
+
+ dir = g_build_filename (prefix, "bin", NULL);
+ g_free (prefix);
+ return dir;
+}
+
+
+/** Locate the application's superuser binary folder.
+ *
+ * The path is generated by the following pseudo-code evaluation:
+ * \code
+ * prefix + "/sbin"
+ * \endcode
+ *
+ * @param default_sbin_dir A default path which will used as fallback.
+ * @return A string containing the sbin folder's path, which must be freed when
+ * no longer necessary. If BinReloc is not initialized, or if the
+ * initialization function failed, then a copy of default_sbin_dir will
+ * be returned. If default_bin_dir is NULL, then NULL will be returned.
+ */
+gchar *
+gbr_find_sbin_dir (const gchar *default_sbin_dir)
+{
+ gchar *prefix, *dir;
+
+ prefix = gbr_find_prefix (NULL);
+ if (prefix == NULL) {
+ /* BinReloc not initialized. */
+ if (default_sbin_dir != NULL)
+ return g_strdup (default_sbin_dir);
+ else
+ return NULL;
+ }
+
+ dir = g_build_filename (prefix, "sbin", NULL);
+ g_free (prefix);
+ return dir;
+}
+
+
+/** Locate the application's data folder.
+ *
+ * The path is generated by the following pseudo-code evaluation:
+ * \code
+ * prefix + "/share"
+ * \endcode
+ *
+ * @param default_data_dir A default path which will used as fallback.
+ * @return A string containing the data folder's path, which must be freed when
+ * no longer necessary. If BinReloc is not initialized, or if the
+ * initialization function failed, then a copy of default_data_dir
+ * will be returned. If default_data_dir is NULL, then NULL will be
+ * returned.
+ */
+gchar *
+gbr_find_data_dir (const gchar *default_data_dir)
+{
+ gchar *prefix, *dir;
+
+ prefix = gbr_find_prefix (NULL);
+ if (prefix == NULL) {
+ /* BinReloc not initialized. */
+ if (default_data_dir != NULL)
+ return g_strdup (default_data_dir);
+ else
+ return NULL;
+ }
+
+ dir = g_build_filename (prefix, "share", NULL);
+ g_free (prefix);
+ return dir;
+}
+
+
+/** Locate the application's localization folder.
+ *
+ * The path is generated by the following pseudo-code evaluation:
+ * \code
+ * prefix + "/share/locale"
+ * \endcode
+ *
+ * @param default_locale_dir A default path which will used as fallback.
+ * @return A string containing the localization folder's path, which must be freed when
+ * no longer necessary. If BinReloc is not initialized, or if the
+ * initialization function failed, then a copy of default_locale_dir will be returned.
+ * If default_locale_dir is NULL, then NULL will be returned.
+ */
+gchar *
+gbr_find_locale_dir (const gchar *default_locale_dir)
+{
+ gchar *data_dir, *dir;
+
+ data_dir = gbr_find_data_dir (NULL);
+ if (data_dir == NULL) {
+ /* BinReloc not initialized. */
+ if (default_locale_dir != NULL)
+ return g_strdup (default_locale_dir);
+ else
+ return NULL;
+ }
+
+ dir = g_build_filename (data_dir, "locale", NULL);
+ g_free (data_dir);
+ return dir;
+}
+
+
+/** Locate the application's library folder.
+ *
+ * The path is generated by the following pseudo-code evaluation:
+ * \code
+ * prefix + "/lib"
+ * \endcode
+ *
+ * @param default_lib_dir A default path which will used as fallback.
+ * @return A string containing the library folder's path, which must be freed when
+ * no longer necessary. If BinReloc is not initialized, or if the
+ * initialization function failed, then a copy of default_lib_dir will be returned.
+ * If default_lib_dir is NULL, then NULL will be returned.
+ */
+gchar *
+gbr_find_lib_dir (const gchar *default_lib_dir)
+{
+ gchar *prefix, *dir;
+
+ prefix = gbr_find_prefix (NULL);
+ if (prefix == NULL) {
+ /* BinReloc not initialized. */
+ if (default_lib_dir != NULL)
+ return g_strdup (default_lib_dir);
+ else
+ return NULL;
+ }
+
+ dir = g_build_filename (prefix, "lib", NULL);
+ g_free (prefix);
+ return dir;
+}
+
+
+/** Locate the application's libexec folder.
+ *
+ * The path is generated by the following pseudo-code evaluation:
+ * \code
+ * prefix + "/libexec"
+ * \endcode
+ *
+ * @param default_libexec_dir A default path which will used as fallback.
+ * @return A string containing the libexec folder's path, which must be freed when
+ * no longer necessary. If BinReloc is not initialized, or if the initialization
+ * function failed, then a copy of default_libexec_dir will be returned.
+ * If default_libexec_dir is NULL, then NULL will be returned.
+ */
+gchar *
+gbr_find_libexec_dir (const gchar *default_libexec_dir)
+{
+ gchar *prefix, *dir;
+
+ prefix = gbr_find_prefix (NULL);
+ if (prefix == NULL) {
+ /* BinReloc not initialized. */
+ if (default_libexec_dir != NULL)
+ return g_strdup (default_libexec_dir);
+ else
+ return NULL;
+ }
+
+ dir = g_build_filename (prefix, "libexec", NULL);
+ g_free (prefix);
+ return dir;
+}
+
+
+/** Locate the application's configuration files folder.
+ *
+ * The path is generated by the following pseudo-code evaluation:
+ * \code
+ * prefix + "/etc"
+ * \endcode
+ *
+ * @param default_etc_dir A default path which will used as fallback.
+ * @return A string containing the etc folder's path, which must be freed when
+ * no longer necessary. If BinReloc is not initialized, or if the initialization
+ * function failed, then a copy of default_etc_dir will be returned.
+ * If default_etc_dir is NULL, then NULL will be returned.
+ */
+gchar *
+gbr_find_etc_dir (const gchar *default_etc_dir)
+{
+ gchar *prefix, *dir;
+
+ prefix = gbr_find_prefix (NULL);
+ if (prefix == NULL) {
+ /* BinReloc not initialized. */
+ if (default_etc_dir != NULL)
+ return g_strdup (default_etc_dir);
+ else
+ return NULL;
+ }
+
+ dir = g_build_filename (prefix, "etc", NULL);
+ g_free (prefix);
+ return dir;
+}
+
+
+G_END_DECLS
+
+#endif /* __BINRELOC_C__ */
diff --git a/binreloc.h b/binreloc.h
new file mode 100644
index 00000000..3bf48bc6
--- /dev/null
+++ b/binreloc.h
@@ -0,0 +1,68 @@
+/*
+ * BinReloc - a library for creating relocatable executables
+ * Written by: Hongli Lai <h.lai@chello.nl>
+ * http://autopackage.org/
+ *
+ * This source code is public domain. You can relicense this code
+ * under whatever license you want.
+ *
+ * See http://autopackage.org/docs/binreloc/ for
+ * more information and how to use this.
+ */
+
+#ifndef __BINRELOC_H__
+#define __BINRELOC_H__
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+
+/** These error codes can be returned by br_init(), br_init_lib(), gbr_init() or gbr_init_lib(). */
+typedef enum {
+ /** Cannot allocate memory. */
+ GBR_INIT_ERROR_NOMEM,
+ /** Unable to open /proc/self/maps; see errno for details. */
+ GBR_INIT_ERROR_OPEN_MAPS,
+ /** Unable to read from /proc/self/maps; see errno for details. */
+ GBR_INIT_ERROR_READ_MAPS,
+ /** The file format of /proc/self/maps is invalid; kernel bug? */
+ GBR_INIT_ERROR_INVALID_MAPS,
+ /** BinReloc is disabled (the ENABLE_BINRELOC macro is not defined). */
+ GBR_INIT_ERROR_DISABLED
+} GbrInitError;
+
+
+#ifndef BINRELOC_RUNNING_DOXYGEN
+/* Mangle symbol names to avoid symbol collisions with other ELF objects. */
+ #define gbr_find_exe UfUy21856259474323_gbr_find_exe
+ #define gbr_find_exe_dir UfUy21856259474323_gbr_find_exe_dir
+ #define gbr_find_prefix UfUy21856259474323_gbr_find_prefix
+ #define gbr_find_bin_dir UfUy21856259474323_gbr_find_bin_dir
+ #define gbr_find_sbin_dir UfUy21856259474323_gbr_find_sbin_dir
+ #define gbr_find_data_dir UfUy21856259474323_gbr_find_data_dir
+ #define gbr_find_locale_dir UfUy21856259474323_gbr_find_locale_dir
+ #define gbr_find_lib_dir UfUy21856259474323_gbr_find_lib_dir
+ #define gbr_find_libexec_dir UfUy21856259474323_gbr_find_libexec_dir
+ #define gbr_find_etc_dir UfUy21856259474323_gbr_find_etc_dir
+
+
+#endif
+gboolean gbr_init (GError **error);
+gboolean gbr_init_lib (GError **error);
+
+gchar *gbr_find_exe (const gchar *default_exe);
+gchar *gbr_find_exe_dir (const gchar *default_dir);
+gchar *gbr_find_prefix (const gchar *default_prefix);
+gchar *gbr_find_bin_dir (const gchar *default_bin_dir);
+gchar *gbr_find_sbin_dir (const gchar *default_sbin_dir);
+gchar *gbr_find_data_dir (const gchar *default_data_dir);
+gchar *gbr_find_locale_dir (const gchar *default_locale_dir);
+gchar *gbr_find_lib_dir (const gchar *default_lib_dir);
+gchar *gbr_find_libexec_dir (const gchar *default_libexec_dir);
+gchar *gbr_find_etc_dir (const gchar *default_etc_dir);
+
+
+G_END_DECLS
+
+#endif /* __BINRELOC_H__ */
diff --git a/callbacks.c b/callbacks.c
index cfab4b2c..fd862984 100644
--- a/callbacks.c
+++ b/callbacks.c
@@ -32,12 +32,12 @@ void cb_refresh()
shell_do_reload();
}
-void cb_left_pane()
+void cb_side_pane()
{
gboolean visible;
- visible = shell_action_get_active("LeftPaneAction");
- shell_set_left_pane_visible(visible);
+ visible = shell_action_get_active("SidePaneAction");
+ shell_set_side_pane_visible(visible);
}
void cb_toolbar()
@@ -51,6 +51,14 @@ void cb_toolbar()
void cb_about()
{
GtkWidget *about;
+ const gchar *authors[] = {
+ "Leandro A. F. Pereira",
+ "SCSI support by Pascal F. Martin",
+ "MD5 implementation by Colin Plumb",
+ "SHA1 implementation by Steve Raid",
+ "Blowfish implementation by Paul Kocher",
+ NULL
+ };
about = gtk_about_dialog_new();
gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(about), "HardInfo");
@@ -63,6 +71,23 @@ void cb_about()
gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(about),
icon_cache_get_pixbuf("logo.png"));
+ gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(about),
+ "HardInfo is free software; you can redistribute it and/or modify " \
+ "it under the terms of the GNU General Public License as published by " \
+ "the Free Software Foundation, version 2.\n\n"
+ "This program is distributed in the hope that it will be useful, " \
+ "but WITHOUT ANY WARRANTY; without even the implied warranty of " \
+ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the " \
+ "GNU General Public License for more details.\n\n"
+ "You should have received a copy of the GNU General Public License " \
+ "along with this program; if not, write to the Free Software " \
+ "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA");
+#if GTK_CHECK_VERSION(2,8,0)
+ gtk_about_dialog_set_wrap_license(GTK_ABOUT_DIALOG(about), TRUE);
+#endif
+
+ gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(about), authors);
+
gtk_dialog_run(GTK_DIALOG(about));
gtk_widget_destroy(about);
}
diff --git a/callbacks.h b/callbacks.h
index f0f28322..da1b3a65 100644
--- a/callbacks.h
+++ b/callbacks.h
@@ -23,7 +23,7 @@ void cb_about();
void cb_generate_report();
void cb_quit();
void cb_refresh();
-void cb_left_pane();
+void cb_side_pane();
void cb_toolbar();
#endif /* __CALLBACKS_H__ */
diff --git a/computer.c b/computer.c
index 7ae9ee8d..e2ee3ee6 100644
--- a/computer.c
+++ b/computer.c
@@ -41,6 +41,7 @@ enum {
COMPUTER_SHARES,
COMPUTER_DISPLAY,
COMPUTER_NETWORK,
+ COMPUTER_USERS,
} Entries;
static ModuleEntry hi_entries[] = {
@@ -53,6 +54,7 @@ static ModuleEntry hi_entries[] = {
{"Shared Directories", "shares.png"},
{"Display", "monitor.png"},
{"Network Interfaces", "network.png"},
+ {"Users", "users.png"},
};
#include "computer.h"
@@ -69,8 +71,10 @@ static GHashTable *moreinfo = NULL;
#include <arch/this/os.h>
#include <arch/this/filesystem.h>
#include <arch/this/samba.h>
+#include <arch/this/nfs.h>
#include <arch/this/sensors.h>
#include <arch/this/net.h>
+#include <arch/common/users.h>
static Computer *
computer_get_info(void)
@@ -108,7 +112,8 @@ computer_get_info(void)
scan_filesystems();
shell_status_update("Getting shared directories...");
- scan_shared_directories();
+ scan_samba_shared_directories();
+ scan_nfs_shared_directories();
shell_status_update("Reading sensors...");
read_sensors();
@@ -116,6 +121,9 @@ computer_get_info(void)
shell_status_update("Obtaining network information...");
scan_net_interfaces();
+ shell_status_update("Obtaining users information...");
+ scan_users();
+
computer->date_time = "...";
return computer;
}
@@ -133,6 +141,9 @@ hi_reload(gint entry)
case COMPUTER_SENSORS:
read_sensors();
break;
+ case COMPUTER_USERS:
+ scan_users();
+ break;
}
}
@@ -159,8 +170,6 @@ hi_get_field(gchar * field)
tmp = g_strdup_printf("%dMB (%dMB used)", mi->total, mi->used);
g_free(mi);
- } else if (!strcmp(field, "Random")) {
- return g_strdup_printf("%d", rand() % 200);
} else if (!strcmp(field, "Uptime")) {
tmp = computer_get_formatted_uptime();
} else if (!strcmp(field, "Date/Time")) {
@@ -198,13 +207,23 @@ hi_info(gint entry)
"ReloadInterval=3000\n"
"ViewType=1\n"
"%s", network_interfaces);
+ case COMPUTER_USERS:
+ return g_strdup_printf("[$ShellParam$]\n"
+ "ReloadInterval=10000\n"
+ "ViewType=1\n"
+ "[Human Users]\n"
+ "%s\n"
+ "[System Users]\n"
+ "%s\n", human_users, sys_users);
case COMPUTER_SENSORS:
return g_strdup_printf("[$ShellParam$]\n"
"ReloadInterval=3000\n"
"%s", sensors);
case COMPUTER_SHARES:
return g_strdup_printf("[SAMBA]\n"
- "%s", shares_list);
+ "%s\n"
+ "[NFS]\n"
+ "%s", smb_shares_list, nfs_shares_list);
case COMPUTER_FILESYSTEMS:
return g_strdup_printf("[$ShellParam$]\n"
"ViewType=1\n"
diff --git a/configure b/configure
index 77f64686..f254de5a 100755
--- a/configure
+++ b/configure
@@ -23,18 +23,22 @@
PACKAGE=`basename ${PWD} | cut -d"-" -f1`;
VERSION=`basename ${PWD} | cut -d"-" -f2`;
-[ "$PACKAGE" == "$VERSION" ] && VERSION="SVN_$(date)"
+if [ "$PACKAGE" == "$VERSION" ]; then
+ VERSION=$(printf "SVN_%d" $(svn -R info|grep Revision|cut -d: -f2|sort -n|tail -n1))
+ RELEASE=0
+else
+ RELEASE=1
+fi
echo "ToscoConf (version 0.04) for $PACKAGE version $VERSION"
# ---------------------------------------------------------------------------
-echo -n "Running: "
+echo "Determining system architecture."
OS=`uname`
-echo -n $OS
case $OS in
Linux)
- echo -n " (OK) " ;;
+ ;;
*)
echo " (not supported, yet!)"
exit ;;
@@ -45,13 +49,13 @@ case $PROC in
i?86)
ln -sf linux/x86 arch/this
ARCH="ARCH_i386" ;;
- ppc)
+ ppc*)
ln -sf linux/ppc arch/this
ARCH="ARCH_PPC" ;;
x86_64)
ln -sf linux/x86_64 arch/this
ARCH="ARCH_x86_64" ;;
- mips)
+ mips*)
ln -sf linux/mips arch/this
ARCH="ARCH_MIPS" ;;
parisc*)
@@ -60,6 +64,9 @@ case $PROC in
sparc*)
ln -sf linux/sparc arch/this
ARCH="ARCH_SPARC" ;;
+ armv4l)
+ ln -sf linux/armv4l arch/this
+ ARCH="ARCH_ARMV4L" ;;
*)
# uname -m on m68k doesn't return anything useful :/
grep "680?0" /proc/cpuinfo > /dev/null
@@ -74,16 +81,29 @@ case $PROC in
;;
esac
-echo "$PROC ($ARCH)"
+if [ "x$ARCH" == "x" ]; then
+ echo "Your architecture is not supported yet. Please send the"
+ echo "output of the following commands to leandro@linuxmag.com.br:"
+ echo ""
+ echo " $ cat /proc/cpuinfo"
+ echo " $ uname -a"
+ echo " $ uname -m"
+ exit 1
+fi
+
+# ---------------------------------------------------------------------------
+
+echo "Compiling $PACKAGE for $OS $PROC ($ARCH)."
+echo ""
# ---------------------------------------------------------------------------
echo -n "Checking for lspci... "
-LSPCIPATH="/sbin/lspci /usr/sbin/lspci /bin/lspci /usr/bin/lspci `which lspci`"
+LSPCIPATH="/sbin/lspci /usr/sbin/lspci /bin/lspci /usr/bin/lspci `which lspci 2>/dev/null`"
for i in $LSPCIPATH; do
if [ -x "$i" ]; then
- LSPCI=$i
- break;
+ LSPCI=$i
+ break
fi
done
@@ -98,7 +118,7 @@ fi
GTK2=-1
MIN_VERSION="2.6.0"
-echo -n "Checking for GTK ${MIN_VERSION}... "
+echo -n "Checking for GTK version >= ${MIN_VERSION}... "
for i in `which pkg-config`; do
pkg-config --errors-to-stdout gtk+-2.0 \
--atleast-version=$MIN_VERSION > /dev/null
@@ -106,7 +126,7 @@ for i in `which pkg-config`; do
0)
GTK_FLAGS=`pkg-config gtk+-2.0 --cflags`
GTK_LIBS=`pkg-config gtk+-2.0 --libs`
- echo "OK (pkgconfig)"
+ echo "found `pkg-config gtk+-2.0 --modversion`"
GTK2=1 ;;
*)
echo "not found." ;;
@@ -131,10 +151,7 @@ echo -e "#ifndef __CONFIG_H__\n#define __CONFIG_H__\n" > config.h
echo "#define VERSION \"$VERSION\"" >> config.h
-if [ "$LSPCI" ]; then
- echo "#define LSPCI \"$LSPCI -v\"" >> config.h
-fi
-
+echo "#define LSPCI \"$LSPCI -v\"" >> config.h
echo "#define $ARCH" >> config.h
echo "#define PLATFORM \"`uname`\"" >> config.h
@@ -142,7 +159,9 @@ echo "#define KERNEL \"`uname -r`\"" >> config.h
echo "#define HOSTNAME \"`hostname`\"" >> config.h
echo "#define PREFIX \"/usr/share/hardinfo/\"" >> config.h
+echo "#define LIBPREFIX \"/usr/lib/hardinfo/\"" >> config.h
echo "#define DEBUG 1" >> config.h
+echo "#define ENABLE_BINRELOC" >> config.h
echo -e "\n#endif /* __CONFIG_H__ */" >> config.h
@@ -159,6 +178,21 @@ echo "ARCHOPTS = " >> Makefile
cat Makefile.in >> Makefile
echo -e "\nDone. Type \"make\" to compile the program.\n"
-echo "If you get errors, probably you don't have the right libraries,"
-echo "includes or utilities. However, if you're sure this is a bug in my"
-echo -e "code, please send a patch (use \"diff -u\") to <leandro@linuxmag.com.br>.\n"
+
+
+if [ "$RELEASE" == 0 ]; then
+ cat << EOF
+*********************************************************
+* This is work in progress! Please report bugs at: *
+* http://developer.berlios.de/bugs/?group_id=5897 *
+* Or send patches to: *
+* http://developer.berlios.de/patch/?group_id=5897 *
+*********************************************************
+EOF
+else
+ cat << EOF
+If you get errors, probably you don't have the right libraries,
+includes or utilities. However, if you're sure this is a bug in my
+code, please send a patch (use \"diff -u\") to <leandro@linuxmag.com.br>.
+EOF
+fi
diff --git a/hardinfo.c b/hardinfo.c
index fd605626..be203f1e 100644
--- a/hardinfo.c
+++ b/hardinfo.c
@@ -22,11 +22,19 @@
#include <iconcache.h>
#include <stock.h>
+#include <binreloc.h>
+
int
main(int argc, char **argv)
{
- gtk_init(&argc, &argv);
+ GError *error;
+ gtk_init(&argc, &argv);
+
+ if (!gbr_init(&error)) {
+ g_error("BinReloc cannot be initialized: %s", error->message);
+ }
+
icon_cache_init();
stock_icons_init();
shell_init();
diff --git a/hardinfo.desktop b/hardinfo.desktop
new file mode 100644
index 00000000..32895d6d
--- /dev/null
+++ b/hardinfo.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=System Information (hardinfo)
+Name[pt_BR]=Informações do Sistema (hardinfo)
+Comment=Information on your hardware devices
+Comment[pt_BR]=Informações sobre seus dispositivos de hardware
+Exec=hardinfo
+Icon=/usr/share/hardinfo/pixmaps/logo.png
+Terminal=false
+MultipleArgs=false
+Type=Application
+StartupNotify=true
+Categories=Application;System
diff --git a/hardinfo.h b/hardinfo.h
index d8f62439..287119a5 100644
--- a/hardinfo.h
+++ b/hardinfo.h
@@ -28,9 +28,10 @@ struct _ModuleEntry {
gchar *icon;
};
-inline void remove_quotes(gchar *str);
-inline void strend(gchar *str, gchar chr);
-inline void remove_linefeed(gchar *str);
- void widget_set_cursor(GtkWidget *widget, GdkCursorType cursor_type);
+inline void remove_quotes(gchar *str);
+inline void strend(gchar *str, gchar chr);
+inline void remove_linefeed(gchar *str);
+ void widget_set_cursor(GtkWidget *widget, GdkCursorType cursor_type);
+inline gchar *size_human_readable(gfloat size);
#endif /* __HARDINFO_H__ */
diff --git a/iconcache.c b/iconcache.c
index 5ef2bc3c..fae641d1 100644
--- a/iconcache.c
+++ b/iconcache.c
@@ -17,6 +17,7 @@
*/
#include <iconcache.h>
#include <config.h>
+#include <binreloc.h>
static GHashTable *cache = NULL;
@@ -34,7 +35,9 @@ GdkPixbuf *icon_cache_get_pixbuf(const gchar *file)
icon = g_hash_table_lookup(cache, file);
if (!icon) {
- gchar *tmp = g_strdup_printf(PREFIX "pixmaps/%s", file);
+ gchar *tmp = g_strdup_printf("%s/hardinfo/pixmaps/%s",
+ gbr_find_data_dir(PREFIX),
+ file);
icon = gdk_pixbuf_new_from_file(tmp, NULL);
g_hash_table_insert(cache, g_strdup(file), icon);
@@ -60,7 +63,9 @@ GdkPixbuf *icon_cache_get_pixbuf_at_size(const gchar *file, gint wid, gint hei)
icon = g_hash_table_lookup(cache, file);
if (!icon) {
- gchar *tmp = g_strdup_printf(PREFIX "pixmaps/%s", file);
+ gchar *tmp = g_strdup_printf("%s/hardinfo/pixmaps/%s",
+ gbr_find_data_dir(PREFIX),
+ file);
icon = gdk_pixbuf_new_from_file_at_size(tmp, wid, hei, NULL);
g_hash_table_insert(cache, g_strdup(file), icon);
diff --git a/loadgraph.c b/loadgraph.c
index a15af347..53fb54f7 100644
--- a/loadgraph.c
+++ b/loadgraph.c
@@ -161,9 +161,9 @@ _draw(LoadGraph *lg)
gdk_draw_line(draw, lg->grid, i, 0, i, lg->height);
/* the graph */
- for (i = 0; i < lg->size; i++) {
- gint this = lg->height - lg->data[i];
- gint next = lg->height - lg->data[i+1];
+ for (i = 0; i < lg->size; i++) {
+ gint this = lg->height - lg->data[i] * lg->scale;
+ gint next = lg->height - lg->data[i+1] * lg->scale;
gdk_draw_line(draw, lg->trace, i * 4, this, i * 4 + 2,
(this + next) / 2);
@@ -178,7 +178,7 @@ static inline int
_max(LoadGraph *lg)
{
gint i;
- gint max = 0;
+ gint max = 1.0;
for (i = 0; i < lg->size; i++) {
if (lg->data[i] > max)
@@ -195,25 +195,9 @@ load_graph_update(LoadGraph *lg, gint value)
if (value < 0)
return;
- else if (value > _max(lg) && value > lg->height) {
- /* FIXME: make scale work correctly :P */
- gfloat nscale = (gfloat)lg->height / ceilf((float)value * lg->scale);
-
- while (value * nscale > lg->height) {
- nscale *= .90;
- }
-
- if (nscale < lg->scale) {
- lg->scale = nscale;
-
- for (i = 0; i < lg->size; i++) {
- lg->data[i] = (int)((float)lg->data[i] * lg->scale);
- }
- }
- }
-
- value = (int)ceilf((float)value * lg->scale);
+ lg->scale = (gfloat)lg->height / (gfloat)_max(lg);
+
/* shift-right our data */
for (i = 0; i < lg->size; i++) {
lg->data[i] = lg->data[i+1];
@@ -231,12 +215,19 @@ gboolean lg_update(gpointer d)
{
LoadGraph *lg = (LoadGraph *)d;
- int i = 0;
- if ((rand() % 10) == 0) {
- i = rand() % 1000 + 500;
+ static int i = 0;
+ static int j = 1;
+
+ if (i > 150) {
+ j = -1;
+ } else if (i < 0) {
+ j = 1;
}
- load_graph_update(lg, rand() % 200 + i);
+ i += j;
+ if (rand() % 10 > 8) i*= 2;
+ if (rand() % 10 < 2) i/= 2;
+ load_graph_update(lg, i + rand() % 50);
return TRUE;
}
@@ -251,8 +242,9 @@ int main(int argc, char **argv)
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
- lg = load_graph_new(100);
- gtk_container_add(GTK_CONTAINER(window), lg->area);
+ lg = load_graph_new(200);
+ gtk_container_add(GTK_CONTAINER(window), load_graph_get_framed(lg));
+ gtk_container_set_border_width(GTK_CONTAINER(window), 20);
load_graph_configure_expose(lg);
lg_update(lg);
diff --git a/loadgraph.h b/loadgraph.h
index 81bdcde4..fdd967f0 100644
--- a/loadgraph.h
+++ b/loadgraph.h
@@ -45,8 +45,7 @@ struct _LoadGraph {
gint size;
gint width, height;
- LoadGraphColor color;
-
+ LoadGraphColor color;
};
LoadGraph *load_graph_new(gint size);
diff --git a/md5.c b/md5.c
index 1047bf89..60df4b06 100644
--- a/md5.c
+++ b/md5.c
@@ -315,4 +315,7 @@ int main(int argc, char **argv)
return 0;
}
#endif /* TEST */
+
+
+
\ No newline at end of file
diff --git a/menu.c b/menu.c
index bc66189b..d5303507 100644
--- a/menu.c
+++ b/menu.c
@@ -24,6 +24,7 @@
#include <config.h>
#include <stock.h>
+#include <binreloc.h>
#include <callbacks.h>
@@ -57,10 +58,10 @@ static GtkActionEntry entries[] =
static GtkToggleActionEntry toggle_entries[] =
{
- { "LeftPaneAction", NULL,
- "_Left Pane", NULL,
- "Toggles left pane visibility",
- G_CALLBACK(cb_left_pane) },
+ { "SidePaneAction", NULL,
+ "_Side Pane", NULL,
+ "Toggles side pane visibility",
+ G_CALLBACK(cb_side_pane) },
{ "ToolbarAction", NULL,
"_Toolbar", NULL,
NULL,
@@ -82,6 +83,7 @@ void menu_init(Shell *shell)
GtkActionGroup *action_group; /* Packing group for our Actions */
GtkUIManager *menu_manager; /* The magic widget! */
GError *error; /* For reporting exceptions or errors */
+ gchar *uidefs_path;
/* Create our objects */
menu_box = shell->vbox;
@@ -103,7 +105,10 @@ void menu_init(Shell *shell)
/* Read in the UI from our XML file */
error = NULL;
- gtk_ui_manager_add_ui_from_file(menu_manager, PREFIX "uidefs.xml", &error);
+ uidefs_path = g_strdup_printf("%s/hardinfo/uidefs.xml",
+ gbr_find_data_dir(PREFIX));
+ gtk_ui_manager_add_ui_from_file(menu_manager, uidefs_path, &error);
+ g_free(uidefs_path);
if (error) {
g_error("building menus failed: %s", error->message);
diff --git a/modules/.svn/README.txt b/modules/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/modules/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/modules/.svn/empty-file b/modules/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/modules/.svn/empty-file
diff --git a/modules/.svn/entries b/modules/.svn/entries
new file mode 100644
index 00000000..90d66dfe
--- /dev/null
+++ b/modules/.svn/entries
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="1"
+ name=""
+ committed-date="2006-01-23T22:38:33.949992Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/modules"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+</wc-entries>
diff --git a/modules/.svn/format b/modules/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/modules/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/pixmaps/.svn/README.txt b/pixmaps/.svn/README.txt
new file mode 100644
index 00000000..271a8ce9
--- /dev/null
+++ b/pixmaps/.svn/README.txt
@@ -0,0 +1,2 @@
+This is a Subversion working copy administrative directory.
+Visit http://subversion.tigris.org/ for more information.
diff --git a/pixmaps/.svn/empty-file b/pixmaps/.svn/empty-file
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/pixmaps/.svn/empty-file
diff --git a/pixmaps/.svn/entries b/pixmaps/.svn/entries
new file mode 100644
index 00000000..f0997b31
--- /dev/null
+++ b/pixmaps/.svn/entries
@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wc-entries
+ xmlns="svn:">
+<entry
+ committed-rev="6"
+ name=""
+ committed-date="2006-02-01T00:16:21.615454Z"
+ url="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo/trunk/hardinfo2/pixmaps"
+ last-author="lafp"
+ kind="dir"
+ uuid="03931a0e-0c0b-0410-87e6-c9e79dddb921"
+ repos="svn+ssh://lafp@svn.berlios.de/svnroot/repos/hardinfo"
+ revision="9"/>
+<entry
+ committed-rev="1"
+ name="summary.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="a9d6ded28f002c874e0fb79fa8949e5f"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:12.000000Z"/>
+<entry
+ committed-rev="1"
+ name="logo.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="85e2abf56019567740f500a8e2b39608"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:12.000000Z"/>
+<entry
+ committed-rev="1"
+ name="stock_insert-floating-frame.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="87ae84753f8a903a191e41fec6ef02ff"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:12.000000Z"/>
+<entry
+ committed-rev="1"
+ name="stock_landline-phone.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="4ef6e2ef7957bdea17ac1bb50795bf77"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:12.000000Z"/>
+<entry
+ committed-rev="1"
+ name="modem.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="42cbe5be11199802965e899cfb28abeb"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:13.000000Z"/>
+<entry
+ committed-rev="1"
+ name="audio.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="93ab5e1e696d7362c8355f1df8f1d7cb"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:13.000000Z"/>
+<entry
+ committed-rev="1"
+ name="users.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="fc33f8963339d94813d7cdbe5404f6ec"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:14.000000Z"/>
+<entry
+ committed-rev="1"
+ name="gnome-devel.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="20e3e38f1d86dd671273998ad4fe63d9"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:14.000000Z"/>
+<entry
+ committed-rev="1"
+ name="memory.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="9295d4f95dd498bc4c3f507565575821"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:14.000000Z"/>
+<entry
+ committed-rev="1"
+ name="report.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="066eb116d563678a15b10efc0d3ccabf"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:14.000000Z"/>
+<entry
+ committed-rev="6"
+ name="blowfish.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-02-01T00:16:21.615454Z"
+ checksum="6e3c404f98db9cdd6cd805d540ab8693"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:14.000000Z"/>
+<entry
+ committed-rev="1"
+ name="therm.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="e5e4fde3f3f7982e0b7cdda193a58805"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:14.000000Z"/>
+<entry
+ committed-rev="1"
+ name="2computer.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="85b582b30dffe586caac29eefe81e00e"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:15.000000Z"/>
+<entry
+ committed-rev="1"
+ name="printer.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="cb9e0a5627ceac6fefd42ddcd2cf977e"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:15.000000Z"/>
+<entry
+ committed-rev="1"
+ name="shares.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="f4fe4bc222ad97256f99557d6872c2d2"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:15.000000Z"/>
+<entry
+ committed-rev="1"
+ name="module.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="83b4363d1cf9fdff4760037d2a59e076"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:15.000000Z"/>
+<entry
+ committed-rev="1"
+ name="monitor.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="636022f4b604e02f2720aea6ddf23312"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:15.000000Z"/>
+<entry
+ committed-rev="1"
+ name="mouse.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="5c765f041386a207781da07fceed8148"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:15.000000Z"/>
+<entry
+ committed-rev="1"
+ name="usb.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="3d5a5e1e5c6800847846a720af2e97ce"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:15.000000Z"/>
+<entry
+ committed-rev="1"
+ name="pcmcia.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="7eb8225b5f386a5ed878bc113f4b81e4"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:15.000000Z"/>
+<entry
+ committed-rev="1"
+ name="computer.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="12a17e8564be0b014c6874128d4dbc36"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:15.000000Z"/>
+<entry
+ committed-rev="1"
+ name="hdd.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="fffb2b30c58524803b8457b56086dd5f"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="joystick.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="db0bea8794512479611203e45582d9cd"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:15.000000Z"/>
+<entry
+ committed-rev="1"
+ name="graphics.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="1a38c3b7adc2b72dcd538dd23a36dcde"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="keyboard.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="48ef165578c8be9e2af97b01d98b68eb"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="cdrom.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="e77d805d434d1482412f2de8d9ef62df"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="dev_removable.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="e4e2e82f7517445d925fd14fd0db637d"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="stock_channel.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="d82c996e84871033efc70e4ee0d6d775"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="gnome-terminal.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="2d9255fc2e8cefea6181dd3449524d3c"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="processor.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="5f754a1643fbfb092ca250537f3a733c"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="os.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="baef99d412ace692fb69a591b70d2c12"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="devices.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="8aed2ee6a7d3e8711ffea772ad8ce71b"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="gnome-dev-removable-usb.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="057bb39eae2fbf728c7e7c17c84ee17b"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="gnome-window-manager.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="29f548137b14f0db606cad3ea03fadaa"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="language.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="f9419fbbc3b70e5623d635996ef0e2d8"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="athlon.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="a0a3fe2b1e5088151ee8b3bd51397d04"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:16.000000Z"/>
+<entry
+ committed-rev="1"
+ name="network.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="f8494f9f1d6d7b7bd239e6f7f246c33e"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:17.000000Z"/>
+<entry
+ committed-rev="1"
+ name="kblayout.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="ab1b9c8be7f41046c976f9a9263d41a3"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:17.000000Z"/>
+<entry
+ committed-rev="1"
+ name="benchmark.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="d89b36e03b6c226c63dcc01ef038415f"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:17.000000Z"/>
+<entry
+ committed-rev="1"
+ name="videocap.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="166460b7a5dfe66772dceb01b41cad5d"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:17.000000Z"/>
+<entry
+ committed-rev="1"
+ name="compress.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="303364092a6462360a2d2624f0bc87c2"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:17.000000Z"/>
+<entry
+ committed-rev="1"
+ name="stock_macro-watch-variable.png"
+ text-time="2006-05-20T14:29:17.000000Z"
+ committed-date="2006-01-23T22:38:33.949992Z"
+ checksum="de4a9322d90a29ecea17222b5cfdce90"
+ last-author="lafp"
+ kind="file"
+ prop-time="2006-05-20T14:29:17.000000Z"/>
+</wc-entries>
diff --git a/pixmaps/.svn/format b/pixmaps/.svn/format
new file mode 100644
index 00000000..b8626c4c
--- /dev/null
+++ b/pixmaps/.svn/format
@@ -0,0 +1 @@
+4
diff --git a/pixmaps/.svn/prop-base/2computer.png.svn-base b/pixmaps/.svn/prop-base/2computer.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/2computer.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/athlon.png.svn-base b/pixmaps/.svn/prop-base/athlon.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/athlon.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/audio.png.svn-base b/pixmaps/.svn/prop-base/audio.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/audio.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/benchmark.png.svn-base b/pixmaps/.svn/prop-base/benchmark.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/benchmark.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/blowfish.png.svn-base b/pixmaps/.svn/prop-base/blowfish.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/blowfish.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/cdrom.png.svn-base b/pixmaps/.svn/prop-base/cdrom.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/cdrom.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/compress.png.svn-base b/pixmaps/.svn/prop-base/compress.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/compress.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/computer.png.svn-base b/pixmaps/.svn/prop-base/computer.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/computer.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/dev_removable.png.svn-base b/pixmaps/.svn/prop-base/dev_removable.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/dev_removable.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/devices.png.svn-base b/pixmaps/.svn/prop-base/devices.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/devices.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/gnome-dev-removable-usb.png.svn-base b/pixmaps/.svn/prop-base/gnome-dev-removable-usb.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/gnome-dev-removable-usb.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/gnome-devel.png.svn-base b/pixmaps/.svn/prop-base/gnome-devel.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/gnome-devel.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/gnome-terminal.png.svn-base b/pixmaps/.svn/prop-base/gnome-terminal.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/gnome-terminal.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/gnome-window-manager.png.svn-base b/pixmaps/.svn/prop-base/gnome-window-manager.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/gnome-window-manager.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/graphics.png.svn-base b/pixmaps/.svn/prop-base/graphics.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/graphics.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/hdd.png.svn-base b/pixmaps/.svn/prop-base/hdd.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/hdd.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/joystick.png.svn-base b/pixmaps/.svn/prop-base/joystick.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/joystick.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/kblayout.png.svn-base b/pixmaps/.svn/prop-base/kblayout.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/kblayout.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/keyboard.png.svn-base b/pixmaps/.svn/prop-base/keyboard.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/keyboard.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/language.png.svn-base b/pixmaps/.svn/prop-base/language.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/language.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/logo.png.svn-base b/pixmaps/.svn/prop-base/logo.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/logo.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/memory.png.svn-base b/pixmaps/.svn/prop-base/memory.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/memory.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/modem.png.svn-base b/pixmaps/.svn/prop-base/modem.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/modem.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/module.png.svn-base b/pixmaps/.svn/prop-base/module.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/module.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/monitor.png.svn-base b/pixmaps/.svn/prop-base/monitor.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/monitor.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/mouse.png.svn-base b/pixmaps/.svn/prop-base/mouse.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/mouse.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/network.png.svn-base b/pixmaps/.svn/prop-base/network.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/network.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/os.png.svn-base b/pixmaps/.svn/prop-base/os.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/os.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/pcmcia.png.svn-base b/pixmaps/.svn/prop-base/pcmcia.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/pcmcia.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/printer.png.svn-base b/pixmaps/.svn/prop-base/printer.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/printer.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/processor.png.svn-base b/pixmaps/.svn/prop-base/processor.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/processor.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/report.png.svn-base b/pixmaps/.svn/prop-base/report.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/report.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/shares.png.svn-base b/pixmaps/.svn/prop-base/shares.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/shares.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/stock_channel.png.svn-base b/pixmaps/.svn/prop-base/stock_channel.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/stock_channel.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/stock_insert-floating-frame.png.svn-base b/pixmaps/.svn/prop-base/stock_insert-floating-frame.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/stock_insert-floating-frame.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/stock_landline-phone.png.svn-base b/pixmaps/.svn/prop-base/stock_landline-phone.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/stock_landline-phone.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/stock_macro-watch-variable.png.svn-base b/pixmaps/.svn/prop-base/stock_macro-watch-variable.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/stock_macro-watch-variable.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/summary.png.svn-base b/pixmaps/.svn/prop-base/summary.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/summary.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/therm.png.svn-base b/pixmaps/.svn/prop-base/therm.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/therm.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/usb.png.svn-base b/pixmaps/.svn/prop-base/usb.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/usb.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/users.png.svn-base b/pixmaps/.svn/prop-base/users.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/users.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/prop-base/videocap.png.svn-base b/pixmaps/.svn/prop-base/videocap.png.svn-base
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/prop-base/videocap.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/2computer.png.svn-work b/pixmaps/.svn/props/2computer.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/2computer.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/athlon.png.svn-work b/pixmaps/.svn/props/athlon.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/athlon.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/audio.png.svn-work b/pixmaps/.svn/props/audio.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/audio.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/benchmark.png.svn-work b/pixmaps/.svn/props/benchmark.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/benchmark.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/blowfish.png.svn-work b/pixmaps/.svn/props/blowfish.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/blowfish.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/cdrom.png.svn-work b/pixmaps/.svn/props/cdrom.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/cdrom.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/compress.png.svn-work b/pixmaps/.svn/props/compress.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/compress.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/computer.png.svn-work b/pixmaps/.svn/props/computer.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/computer.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/dev_removable.png.svn-work b/pixmaps/.svn/props/dev_removable.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/dev_removable.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/devices.png.svn-work b/pixmaps/.svn/props/devices.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/devices.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/gnome-dev-removable-usb.png.svn-work b/pixmaps/.svn/props/gnome-dev-removable-usb.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/gnome-dev-removable-usb.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/gnome-devel.png.svn-work b/pixmaps/.svn/props/gnome-devel.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/gnome-devel.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/gnome-terminal.png.svn-work b/pixmaps/.svn/props/gnome-terminal.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/gnome-terminal.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/gnome-window-manager.png.svn-work b/pixmaps/.svn/props/gnome-window-manager.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/gnome-window-manager.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/graphics.png.svn-work b/pixmaps/.svn/props/graphics.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/graphics.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/hdd.png.svn-work b/pixmaps/.svn/props/hdd.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/hdd.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/joystick.png.svn-work b/pixmaps/.svn/props/joystick.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/joystick.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/kblayout.png.svn-work b/pixmaps/.svn/props/kblayout.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/kblayout.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/keyboard.png.svn-work b/pixmaps/.svn/props/keyboard.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/keyboard.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/language.png.svn-work b/pixmaps/.svn/props/language.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/language.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/logo.png.svn-work b/pixmaps/.svn/props/logo.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/logo.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/memory.png.svn-work b/pixmaps/.svn/props/memory.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/memory.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/modem.png.svn-work b/pixmaps/.svn/props/modem.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/modem.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/module.png.svn-work b/pixmaps/.svn/props/module.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/module.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/monitor.png.svn-work b/pixmaps/.svn/props/monitor.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/monitor.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/mouse.png.svn-work b/pixmaps/.svn/props/mouse.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/mouse.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/network.png.svn-work b/pixmaps/.svn/props/network.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/network.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/os.png.svn-work b/pixmaps/.svn/props/os.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/os.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/pcmcia.png.svn-work b/pixmaps/.svn/props/pcmcia.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/pcmcia.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/printer.png.svn-work b/pixmaps/.svn/props/printer.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/printer.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/processor.png.svn-work b/pixmaps/.svn/props/processor.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/processor.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/report.png.svn-work b/pixmaps/.svn/props/report.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/report.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/shares.png.svn-work b/pixmaps/.svn/props/shares.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/shares.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/stock_channel.png.svn-work b/pixmaps/.svn/props/stock_channel.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/stock_channel.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/stock_insert-floating-frame.png.svn-work b/pixmaps/.svn/props/stock_insert-floating-frame.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/stock_insert-floating-frame.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/stock_landline-phone.png.svn-work b/pixmaps/.svn/props/stock_landline-phone.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/stock_landline-phone.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/stock_macro-watch-variable.png.svn-work b/pixmaps/.svn/props/stock_macro-watch-variable.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/stock_macro-watch-variable.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/summary.png.svn-work b/pixmaps/.svn/props/summary.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/summary.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/therm.png.svn-work b/pixmaps/.svn/props/therm.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/therm.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/usb.png.svn-work b/pixmaps/.svn/props/usb.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/usb.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/users.png.svn-work b/pixmaps/.svn/props/users.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/users.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/props/videocap.png.svn-work b/pixmaps/.svn/props/videocap.png.svn-work
new file mode 100644
index 00000000..5e9587e6
--- /dev/null
+++ b/pixmaps/.svn/props/videocap.png.svn-work
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
diff --git a/pixmaps/.svn/text-base/2computer.png.svn-base b/pixmaps/.svn/text-base/2computer.png.svn-base
new file mode 100644
index 00000000..46f29204
--- /dev/null
+++ b/pixmaps/.svn/text-base/2computer.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/athlon.png.svn-base b/pixmaps/.svn/text-base/athlon.png.svn-base
new file mode 100644
index 00000000..81a1b314
--- /dev/null
+++ b/pixmaps/.svn/text-base/athlon.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/audio.png.svn-base b/pixmaps/.svn/text-base/audio.png.svn-base
new file mode 100644
index 00000000..45096651
--- /dev/null
+++ b/pixmaps/.svn/text-base/audio.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/benchmark.png.svn-base b/pixmaps/.svn/text-base/benchmark.png.svn-base
new file mode 100644
index 00000000..1be159b7
--- /dev/null
+++ b/pixmaps/.svn/text-base/benchmark.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/blowfish.png.svn-base b/pixmaps/.svn/text-base/blowfish.png.svn-base
new file mode 100644
index 00000000..22c68614
--- /dev/null
+++ b/pixmaps/.svn/text-base/blowfish.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/cdrom.png.svn-base b/pixmaps/.svn/text-base/cdrom.png.svn-base
new file mode 100644
index 00000000..eb65bcbb
--- /dev/null
+++ b/pixmaps/.svn/text-base/cdrom.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/compress.png.svn-base b/pixmaps/.svn/text-base/compress.png.svn-base
new file mode 100644
index 00000000..e5dee194
--- /dev/null
+++ b/pixmaps/.svn/text-base/compress.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/computer.png.svn-base b/pixmaps/.svn/text-base/computer.png.svn-base
new file mode 100644
index 00000000..f0de0386
--- /dev/null
+++ b/pixmaps/.svn/text-base/computer.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/dev_removable.png.svn-base b/pixmaps/.svn/text-base/dev_removable.png.svn-base
new file mode 100644
index 00000000..2453d8dc
--- /dev/null
+++ b/pixmaps/.svn/text-base/dev_removable.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/devices.png.svn-base b/pixmaps/.svn/text-base/devices.png.svn-base
new file mode 100644
index 00000000..0ad1400b
--- /dev/null
+++ b/pixmaps/.svn/text-base/devices.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/gnome-dev-removable-usb.png.svn-base b/pixmaps/.svn/text-base/gnome-dev-removable-usb.png.svn-base
new file mode 100644
index 00000000..fb83bab2
--- /dev/null
+++ b/pixmaps/.svn/text-base/gnome-dev-removable-usb.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/gnome-devel.png.svn-base b/pixmaps/.svn/text-base/gnome-devel.png.svn-base
new file mode 100644
index 00000000..4c63e7dd
--- /dev/null
+++ b/pixmaps/.svn/text-base/gnome-devel.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/gnome-terminal.png.svn-base b/pixmaps/.svn/text-base/gnome-terminal.png.svn-base
new file mode 100644
index 00000000..2fe2d14d
--- /dev/null
+++ b/pixmaps/.svn/text-base/gnome-terminal.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/gnome-window-manager.png.svn-base b/pixmaps/.svn/text-base/gnome-window-manager.png.svn-base
new file mode 100644
index 00000000..d5f0d3d9
--- /dev/null
+++ b/pixmaps/.svn/text-base/gnome-window-manager.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/graphics.png.svn-base b/pixmaps/.svn/text-base/graphics.png.svn-base
new file mode 100644
index 00000000..a70492c1
--- /dev/null
+++ b/pixmaps/.svn/text-base/graphics.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/hdd.png.svn-base b/pixmaps/.svn/text-base/hdd.png.svn-base
new file mode 100644
index 00000000..bbcdc825
--- /dev/null
+++ b/pixmaps/.svn/text-base/hdd.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/joystick.png.svn-base b/pixmaps/.svn/text-base/joystick.png.svn-base
new file mode 100644
index 00000000..954cca4b
--- /dev/null
+++ b/pixmaps/.svn/text-base/joystick.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/kblayout.png.svn-base b/pixmaps/.svn/text-base/kblayout.png.svn-base
new file mode 100644
index 00000000..b99e27d1
--- /dev/null
+++ b/pixmaps/.svn/text-base/kblayout.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/keyboard.png.svn-base b/pixmaps/.svn/text-base/keyboard.png.svn-base
new file mode 100644
index 00000000..a716f07e
--- /dev/null
+++ b/pixmaps/.svn/text-base/keyboard.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/language.png.svn-base b/pixmaps/.svn/text-base/language.png.svn-base
new file mode 100644
index 00000000..ab82b50f
--- /dev/null
+++ b/pixmaps/.svn/text-base/language.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/logo.png.svn-base b/pixmaps/.svn/text-base/logo.png.svn-base
new file mode 100644
index 00000000..d2dee31e
--- /dev/null
+++ b/pixmaps/.svn/text-base/logo.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/memory.png.svn-base b/pixmaps/.svn/text-base/memory.png.svn-base
new file mode 100644
index 00000000..1ea66b8a
--- /dev/null
+++ b/pixmaps/.svn/text-base/memory.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/modem.png.svn-base b/pixmaps/.svn/text-base/modem.png.svn-base
new file mode 100644
index 00000000..8d1ea2b0
--- /dev/null
+++ b/pixmaps/.svn/text-base/modem.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/module.png.svn-base b/pixmaps/.svn/text-base/module.png.svn-base
new file mode 100644
index 00000000..8f1279d0
--- /dev/null
+++ b/pixmaps/.svn/text-base/module.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/monitor.png.svn-base b/pixmaps/.svn/text-base/monitor.png.svn-base
new file mode 100644
index 00000000..669086a4
--- /dev/null
+++ b/pixmaps/.svn/text-base/monitor.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/mouse.png.svn-base b/pixmaps/.svn/text-base/mouse.png.svn-base
new file mode 100644
index 00000000..4043722d
--- /dev/null
+++ b/pixmaps/.svn/text-base/mouse.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/network.png.svn-base b/pixmaps/.svn/text-base/network.png.svn-base
new file mode 100644
index 00000000..f8c623b6
--- /dev/null
+++ b/pixmaps/.svn/text-base/network.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/os.png.svn-base b/pixmaps/.svn/text-base/os.png.svn-base
new file mode 100644
index 00000000..166c2201
--- /dev/null
+++ b/pixmaps/.svn/text-base/os.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/pcmcia.png.svn-base b/pixmaps/.svn/text-base/pcmcia.png.svn-base
new file mode 100644
index 00000000..2baac660
--- /dev/null
+++ b/pixmaps/.svn/text-base/pcmcia.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/printer.png.svn-base b/pixmaps/.svn/text-base/printer.png.svn-base
new file mode 100644
index 00000000..dd814d6c
--- /dev/null
+++ b/pixmaps/.svn/text-base/printer.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/processor.png.svn-base b/pixmaps/.svn/text-base/processor.png.svn-base
new file mode 100644
index 00000000..7b2a3fb1
--- /dev/null
+++ b/pixmaps/.svn/text-base/processor.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/report.png.svn-base b/pixmaps/.svn/text-base/report.png.svn-base
new file mode 100644
index 00000000..48bd5d01
--- /dev/null
+++ b/pixmaps/.svn/text-base/report.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/shares.png.svn-base b/pixmaps/.svn/text-base/shares.png.svn-base
new file mode 100644
index 00000000..ab4e197d
--- /dev/null
+++ b/pixmaps/.svn/text-base/shares.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/stock_channel.png.svn-base b/pixmaps/.svn/text-base/stock_channel.png.svn-base
new file mode 100644
index 00000000..2a74f2e6
--- /dev/null
+++ b/pixmaps/.svn/text-base/stock_channel.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/stock_insert-floating-frame.png.svn-base b/pixmaps/.svn/text-base/stock_insert-floating-frame.png.svn-base
new file mode 100644
index 00000000..8f82250f
--- /dev/null
+++ b/pixmaps/.svn/text-base/stock_insert-floating-frame.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/stock_landline-phone.png.svn-base b/pixmaps/.svn/text-base/stock_landline-phone.png.svn-base
new file mode 100644
index 00000000..61da5dab
--- /dev/null
+++ b/pixmaps/.svn/text-base/stock_landline-phone.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/stock_macro-watch-variable.png.svn-base b/pixmaps/.svn/text-base/stock_macro-watch-variable.png.svn-base
new file mode 100644
index 00000000..2e52ddc9
--- /dev/null
+++ b/pixmaps/.svn/text-base/stock_macro-watch-variable.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/summary.png.svn-base b/pixmaps/.svn/text-base/summary.png.svn-base
new file mode 100644
index 00000000..5a2cd965
--- /dev/null
+++ b/pixmaps/.svn/text-base/summary.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/therm.png.svn-base b/pixmaps/.svn/text-base/therm.png.svn-base
new file mode 100644
index 00000000..3dac3913
--- /dev/null
+++ b/pixmaps/.svn/text-base/therm.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/usb.png.svn-base b/pixmaps/.svn/text-base/usb.png.svn-base
new file mode 100644
index 00000000..7c7c6746
--- /dev/null
+++ b/pixmaps/.svn/text-base/usb.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/users.png.svn-base b/pixmaps/.svn/text-base/users.png.svn-base
new file mode 100644
index 00000000..cbc62084
--- /dev/null
+++ b/pixmaps/.svn/text-base/users.png.svn-base
Binary files differ
diff --git a/pixmaps/.svn/text-base/videocap.png.svn-base b/pixmaps/.svn/text-base/videocap.png.svn-base
new file mode 100644
index 00000000..8bbea0ba
--- /dev/null
+++ b/pixmaps/.svn/text-base/videocap.png.svn-base
Binary files differ
diff --git a/report.c b/report.c
index 990abd8b..db2a02e3 100644
--- a/report.c
+++ b/report.c
@@ -116,7 +116,9 @@ report_html_table(ReportContext *ctx, gchar *text)
if (g_str_equal(value, "...")) {
g_free(value);
- value = ctx->entry->fieldfunc(key);
+ if (!(value = ctx->entry->fieldfunc(key))) {
+ value = g_strdup("...");
+ }
}
if (*key == '$') {
@@ -194,8 +196,11 @@ report_get_filename(void)
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
NULL);
+#if GTK_CHECK_VERSION(2,8,0)
gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog),
TRUE);
+#endif
+
gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog),
"hardinfo report.html");
@@ -434,6 +439,7 @@ static ReportDialog
gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog1_action_area),
GTK_BUTTONBOX_END);
+
button8 = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
gtk_widget_show(button8);
gtk_dialog_add_action_widget(GTK_DIALOG(dialog), button8,
diff --git a/shell.c b/shell.c
index e8ac1f5e..66d83cf9 100644
--- a/shell.c
+++ b/shell.c
@@ -28,6 +28,8 @@
#include <menu.h>
#include <stock.h>
+#include <binreloc.h>
+
/*
* Internal Prototypes ********************************************************
*/
@@ -103,7 +105,7 @@ void shell_action_set_enabled(const gchar *action_name, gboolean setting)
}
}
-void shell_set_left_pane_visible(gboolean setting)
+void shell_set_side_pane_visible(gboolean setting)
{
if (setting)
gtk_widget_show(shell->tree->scroll);
@@ -159,6 +161,12 @@ void shell_action_set_active(const gchar *action_name, gboolean setting)
void
shell_status_pulse(void)
{
+ if (shell->_pulses++ == 20) {
+ /* we're pulsing for some time, disable the interface and change the cursor
+ to a hourglass */
+ shell_view_set_enabled(FALSE);
+ }
+
gtk_progress_bar_pulse(GTK_PROGRESS_BAR(shell->progress));
while (gtk_events_pending())
gtk_main_iteration();
@@ -177,9 +185,10 @@ void
shell_view_set_enabled(gboolean setting)
{
if (setting) {
- widget_set_cursor(shell->window, GDK_LEFT_PTR);
+ shell->_pulses = 0;
+ widget_set_cursor(shell->window, GDK_LEFT_PTR);
} else {
- widget_set_cursor(shell->window, GDK_WATCH);
+ widget_set_cursor(shell->window, GDK_WATCH);
}
gtk_widget_set_sensitive(shell->hpaned, setting);
@@ -238,7 +247,7 @@ destroy_me(void)
static void
create_window(void)
{
- GtkWidget *vbox, *hbox;
+ GtkWidget *vbox, *hbox;
shell = g_new0(Shell, 1);
@@ -290,11 +299,17 @@ create_window(void)
static void
shell_tree_modules_load(ShellTree * shelltree)
{
+ gchar *modules_conf;
GKeyFile *keyfile = g_key_file_new();
guint categories, i;
keyfile = g_key_file_new();
- g_key_file_load_from_file(keyfile, PREFIX "modules.conf", 0, NULL);
+
+ modules_conf = g_strdup_printf("%s/hardinfo/modules.conf",
+ gbr_find_data_dir(PREFIX));
+ g_key_file_load_from_file(keyfile, modules_conf, 0, NULL);
+ g_free(modules_conf);
+
if (g_key_file_get_integer(keyfile, "general", "version", NULL) != 2) {
g_error("Wrong version of modules.conf");
}
@@ -312,7 +327,9 @@ shell_tree_modules_load(ShellTree * shelltree)
module->icon = icon_cache_get_pixbuf(tmp);
g_free(tmp);
- tmp = g_strdup_printf(PREFIX "modules/%s.so", iname);
+ tmp = g_strdup_printf("%s/hardinfo/modules/%s.so",
+ gbr_find_lib_dir(PREFIX),
+ iname);
module->dll = g_module_open(tmp, G_MODULE_BIND_LAZY);
g_free(tmp);
@@ -519,7 +536,7 @@ shell_init(void)
gtk_widget_hide(shell->notebook);
shell_action_set_enabled("RefreshAction", FALSE);
- shell_action_set_active("LeftPaneAction", TRUE);
+ shell_action_set_active("SidePaneAction", TRUE);
shell_action_set_active("ToolbarAction", TRUE);
shell_action_set_property("RefreshAction", "is-important", TRUE);
shell_action_set_property("ReportAction", "is-important", TRUE);
@@ -539,10 +556,10 @@ update_field(gpointer data)
SHELL_VIEW_LOAD_GRAPH */
if (fu->loadgraph && shell->view_type == SHELL_VIEW_LOAD_GRAPH) {
GtkTreeSelection *ts;
-
+
ts = gtk_tree_view_get_selection(GTK_TREE_VIEW
(shell->info->view));
-
+
if (iter && gtk_tree_selection_iter_is_selected(ts, iter)) {
load_graph_update(shell->loadgraph, atoi(value));
}
@@ -667,7 +684,7 @@ group_handle_special(GKeyFile * key_file, ShellModuleEntry * entry,
fu->field_name = g_strdup(strchr(key, '$') + 1);
fu->entry = entry;
fu->loadgraph = TRUE;
-
+
g_timeout_add(ms, update_field, fu);
} else if (g_str_equal(key, "ReloadInterval")) {
gint ms;
@@ -723,6 +740,10 @@ group_handle_normal(GKeyFile * key_file, ShellModuleEntry * entry,
GtkTreeIter child;
value = g_key_file_get_value(key_file, group, key, NULL);
+ if (g_str_equal(value, "...") && entry->fieldfunc) {
+ g_free(value);
+ value = entry->fieldfunc(key);
+ }
if (g_utf8_validate(key, -1, NULL) && g_utf8_validate(value, -1, NULL)) {
gtk_tree_store_append(store, &child, &parent);
diff --git a/shell.h b/shell.h
index 54745bb6..23780da0 100644
--- a/shell.h
+++ b/shell.h
@@ -72,6 +72,8 @@ struct _Shell {
GtkUIManager *ui_manager;
ShellViewType view_type;
+
+ gint _pulses;
};
struct _ShellTree {
@@ -128,7 +130,7 @@ void shell_action_set_property(const gchar *action_name,
const gchar *property,
gboolean setting);
-void shell_set_left_pane_visible(gboolean setting);
+void shell_set_side_pane_visible(gboolean setting);
void shell_ui_manager_set_visible(const gchar *path,
gboolean setting);
diff --git a/uidefs.xml b/uidefs.xml
index f70031c8..280c7951 100644
--- a/uidefs.xml
+++ b/uidefs.xml
@@ -7,7 +7,7 @@
<placeholder name="FileMenuAdditions" />
</menu>
<menu name="ViewMenu" action="ViewMenuAction">
- <menuitem name="LeftPane" action="LeftPaneAction"/>
+ <menuitem name="SidePane" action="SidePaneAction"/>
<menuitem name="Toolbar" action="ToolbarAction"/>
<separator/>
<menuitem name="Refresh" action="RefreshAction"/>
diff --git a/util.c b/util.c
index 79084c2c..ee6040b2 100644
--- a/util.c
+++ b/util.c
@@ -19,18 +19,21 @@
#include <hardinfo.h>
#include <gtk/gtk.h>
-inline void
-remove_quotes(gchar *str)
-{
- if (!str)
- return;
+#define KiB 1024
+#define MiB 1048576
+#define GiB 1073741824
- while (*str == '"')
- *(str++) = ' ';
+inline gchar *
+size_human_readable(gfloat size)
+{
+ if (size < KiB)
+ return g_strdup_printf("%.1f B", size);
+ if (size < MiB)
+ return g_strdup_printf("%.1f KiB", size / KiB);
+ if (size < GiB)
+ return g_strdup_printf("%.1f MiB", size / MiB);
- gchar *p;
- if ((p = strchr(str, '"')))
- *p = 0;
+ return g_strdup_printf("%.1f GiB", size / GiB);
}
inline void
@@ -45,6 +48,18 @@ strend(gchar *str, gchar chr)
}
inline void
+remove_quotes(gchar *str)
+{
+ if (!str)
+ return;
+
+ while (*str == '"')
+ *(str++) = ' ';
+
+ strend(str, '"');
+}
+
+inline void
remove_linefeed(gchar * str)
{
strend(str, '\n');