Receive data from a device via the given connection. 
This function will return after the given timeout even if no data has been received.
- Parameters
- 
  
    | connection | The connection to receive data from. |  | data | Buffer that will be filled with the received data. This buffer has to be large enough to hold len bytes. |  | len | Buffer size or number of bytes to receive. |  | recv_bytes | Number of bytes actually received. |  | timeout | Timeout in milliseconds after which this function should return even if no data has been received. |  
 
- Returns
- IDEVICE_E_SUCCESS if ok, otherwise an error code.