I am currently trying to interface with a USB audio device from user land. I currently have the device fully enumerated and I\'ve set the interface and set the alternative
I understand the only reason you're not using libusb is that you can't open the usb device by by yourself but you do have a file descriptor pointing to it.
If this is all correct, why are you trying to re-implement everything there is in libusb instead of just re-implementing the usb_open() function which would take a file descriptor as argument and your struct usb_device*. You could take most of the code from the libusb usb_open() source code, and use libusb for the rest.