The USB core contains a number of higher level functions which were introduced as compatibility wrappers for the older APIs. Some of these functions can still be used to issue blocking control or bulk transfers.
Issues a blocking standard control request. The arguments are according to [4] section 9.3. A timeout in jiffies has to be specified. If successful the return value is a positive number which represents the bytes transferred otherwise an error code is returned.
Issues a blocking bulk transfer. The standard arguments should be self explaining. actual_length is an optional pointer to a variable which carries the actual number of bytes transferred by this request. A timeout in jiffies has to be specified.