Crate devices

source ·
Expand description

Devices

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.

Supported platforms

  • Linux (lspci and lsusb required)
  • Windows (Windows 7+ / Wine not supported)

Implementation Notes

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, all device-retrieving methods 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.

Cargo Features

  • bincode: Support for bincode v2 encoding and decoding. Enabled by default.
  • serde: Support for serde serialization and deserialization. Enabled by default.

License

devices is dual-licensed under MIT and Apache-2.0.

Structs

Enums

  • Device mount path.
  • An error that could be returned when retrieving device information.