A particular need that has surfaced is to add a pci query -- basically
to run lspci in a shell and build a static table when xmlsysd first
comes up -- so that the PCI hardware available on a system (at least the
networking hardware, but possibly more) can be remotely queried.

This should be easy enough to do one of two ways -- actually run lspci
(this puts the burden of maintaining all tables on the pciutils
maintainers) or to steal lspci's internals.  If this were a command that
was run per query, the latter would clearly be the correct course of
action, but for a one-off command with a complex and dynamic table
backing it, it seems for once smarter to shell it out and use lspci.

lspci even seems to directly support this usage, see "lspci -m" for a
parseable list of strings per device line:

rgb@lilith|B:1069>lspci -m
00:00.0 "Host bridge" "Intel Corp." "440BX/ZX/DX - 82443BX/ZX/DX Host
bridge" -r03 "" ""
00:01.0 "PCI bridge" "Intel Corp." "440BX/ZX/DX - 82443BX/ZX/DX AGP
bridge" -r03 "" ""
00:03.0 "CardBus bridge" "Texas Instruments" "PCI1420" "Dell Computer
Corporation" "00b0"
00:03.1 "CardBus bridge" "Texas Instruments" "PCI1420" "Dell Computer
Corporation" "00b0"
00:07.0 "Bridge" "Intel Corp." "82371AB/EB/MB PIIX4 ISA" -r02 "" ""
00:07.1 "IDE interface" "Intel Corp." "82371AB/EB/MB PIIX4 IDE" -r01
-p80 "" ""
00:07.2 "USB Controller" "Intel Corp." "82371AB/EB/MB PIIX4 USB" -r01 ""
""
00:07.3 "Bridge" "Intel Corp." "82371AB/EB/MB PIIX4 ACPI" -r03 "" ""
00:08.0 "Multimedia audio controller" "ESS Technology" "ES1983S
Maestro-3i PCI Audio Accelerator" -r10 "Dell Computer Corporation"
"00b0"
00:10.0 "PCI bridge" "Actiontec Electronics Inc" "Mini-PCI bridge" -r11
"" ""
01:00.0 "VGA compatible controller" "ATI Technologies Inc" "Rage
Mobility M3 AGP 2x" -r02 "Dell Computer Corporation" "00b0"
08:04.0 "Ethernet controller" "Intel Corp." "82557/8/9 [Ethernet Pro
100]" -r08 "Actiontec Electronics Inc" "EtherExpress PRO/100B (TX)
(MiniPCI Ethernet+Modem)"
08:08.0 "Communication controller" "Lucent Microelectronics" "WinModem
56k" -r01 "Actiontec Electronics Inc" "LT WinModem 56k (MiniPCI
Ethernet+Modem)"

Looks like we could get by with fields 2 (e.g. "Ethernet controller"), 3
"Intel Corp" and 4 "82557/8/9 [Ethernet Pro 100].  It would also be
lovely to establish a map between pci device and network device, but it
looks like that won't happen unless somebody gives me a clew.

In addition, at the moment, I need to decruft things, debug things, and
gradually add features.  The usual.

Help is always welcome.

One GREAT way to help is by adding get_proc_sensors.c components for any
sensors you actually have handy to test with.  Don't forget to
contribute them along with a snippet of their returned xml so I can work
them into wulfstat as well as the daemon.

