devices
is a cross-platform library for retrieving information about connected devices.
Combined with a library like sysinfo, a more or less complete description of a system's hardware can be gathered.
- Linux (
lspci
andlsusb
required) - Windows (Windows 7+ / Wine not supported)
Wine provides the APIs this library needs to function, but it does not return all the information necessary to build the DeviceInfo
struct. When running on Wine, Devices::get()
will return Error::UnsupportedPlatform
.
On Linux, this library works by creating a subprocess to gather device information and parsing the result. Pulling device information from a platform-specific API would be preferred. PRs welcome.
bincode
: Enables bincode v2 encoding and decoding ofDeviceInfo
andDevicePath
.
devices
is dual-licensed under MIT and Apache-2.0.