A database of USB identifiers.
Databases with vendor names and identifiers can be loaded from string,
file or directly from http://www.usb.org> or <http://linux-usb.org.
Example usage:
import System.USB.IDDB
import System.USB.IDDB.LinuxUsbIdRepo (staticDb)
import Text.Printf (printf)
main :: IO ()
main = do -- Load a snapshot from the linux-usb.org database.
db <- staticDb
-- Print the name of vendor 0x1d6b
putStrLn $ maybe "unknown VID!" id
$ vendorName db 0x1d6b
-- Print the ID of "Linux Foundation"
putStrLn $ maybe "unknown vendor name!" (printf "0x%04x")
$ vendorId db "Linux Foundation"
-- Print the name of the product with ID 0x0101 from the
-- vendor with ID 0x1d6b.
putStrLn $ maybe "unknown PID!" id
$ productName db 0x1d6b 0x0101
-- Print the ID of the product with the name "Audio Gadget"
-- from the vendor with ID 0x1d6b.
putStrLn $ maybe "unknown product name!" (printf "0x%04x")
$ productId db 0x1d6b "Audio Gadget"
|