pointer to the usb device to send the message to
endpoint "pipe" to send the message to
pointer to the data to send
length in bytes of the data to send
pointer to a location to put the actual length transferred in bytes
time to wait for the message to complete before timing out (if 0 the wait is forever)
This function sends a simple bulk message to a specified endpoint and waits for the message to complete, or timeout.
If successful, it returns 0, othwise a negative error number. The number of actual bytes transferred will be plaed in the actual_timeout paramater.
Don't use this function from within an interrupt context, like a bottom half handler. If you need a asyncronous message, or need to send a message from within interrupt context, use usb_submit_urb