Attached is some clean up for libpcap support of usbmon on Linux.
It also adds code to enumerate the configurations of the devices attached to the USB bus when the capture session is first started. Without capturing the device configurations into the capture stream is it not possible to fully decode the stream data.
For example wifi adapters are all built using proprietary USB messages, to decode these messages you need to know the USB device ID of the adapter. This device id is not normally in the capture stream of the adapter. The attached code will force this data into the stream when capture is first started so that an app like Wireshark has the needed data to full decode the stream.