if (!dev_handle->dev->attached)
return LIBUSB_ERROR_NO_DEVICE;
- return usbi_backend.reset_device(dev_handle);
+ if (usbi_backend.reset_device)
+ return usbi_backend.reset_device(dev_handle);
+ else
+ return LIBUSB_ERROR_NOT_SUPPORTED;
}
/** \ingroup libusb_asyncio
int (*clear_halt)(struct libusb_device_handle *dev_handle,
unsigned char endpoint);
- /* Perform a USB port reset to reinitialize a device.
+ /* Perform a USB port reset to reinitialize a device. Optional.
*
* If possible, the device handle should still be usable after the reset
* completes, assuming that the device descriptors did not change during
}
static int
-haiku_reset_device(struct libusb_device_handle *dev_handle)
-{
- /* TODO */
- return LIBUSB_ERROR_NOT_SUPPORTED;
-}
-
-static int
haiku_release_interface(struct libusb_device_handle *dev_handle, int interface_number)
{
USBDeviceHandle *handle = *((USBDeviceHandle **)usbi_get_device_handle_priv(dev_handle));
.set_interface_altsetting = haiku_set_altsetting,
.clear_halt = haiku_clear_halt,
- .reset_device = haiku_reset_device,
.submit_transfer = haiku_submit_transfer,
.cancel_transfer = haiku_cancel_transfer,
static int netbsd_set_interface_altsetting(struct libusb_device_handle *, int,
int);
static int netbsd_clear_halt(struct libusb_device_handle *, unsigned char);
-static int netbsd_reset_device(struct libusb_device_handle *);
static void netbsd_destroy_device(struct libusb_device *);
static int netbsd_submit_transfer(struct usbi_transfer *);
.set_interface_altsetting = netbsd_set_interface_altsetting,
.clear_halt = netbsd_clear_halt,
- .reset_device = netbsd_reset_device,
.destroy_device = netbsd_destroy_device,
return (LIBUSB_SUCCESS);
}
-int
-netbsd_reset_device(struct libusb_device_handle *handle)
-{
- usbi_dbg(" ");
-
- return (LIBUSB_ERROR_NOT_SUPPORTED);
-}
-
void
netbsd_destroy_device(struct libusb_device *dev)
{
}
static int
-null_reset_device(struct libusb_device_handle *handle)
-{
- return LIBUSB_ERROR_NOT_SUPPORTED;
-}
-
-static int
null_submit_transfer(struct usbi_transfer *itransfer)
{
return LIBUSB_ERROR_NOT_SUPPORTED;
.release_interface = null_release_interface,
.set_interface_altsetting = null_set_interface_altsetting,
.clear_halt = null_clear_halt,
- .reset_device = null_reset_device,
.submit_transfer = null_submit_transfer,
.cancel_transfer = null_cancel_transfer,
};
static int obsd_set_interface_altsetting(struct libusb_device_handle *, int,
int);
static int obsd_clear_halt(struct libusb_device_handle *, unsigned char);
-static int obsd_reset_device(struct libusb_device_handle *);
static void obsd_destroy_device(struct libusb_device *);
static int obsd_submit_transfer(struct usbi_transfer *);
.set_interface_altsetting = obsd_set_interface_altsetting,
.clear_halt = obsd_clear_halt,
- .reset_device = obsd_reset_device,
.destroy_device = obsd_destroy_device,
.submit_transfer = obsd_submit_transfer,
return (LIBUSB_SUCCESS);
}
-int
-obsd_reset_device(struct libusb_device_handle *handle)
-{
- usbi_dbg(" ");
-
- return (LIBUSB_ERROR_NOT_SUPPORTED);
-}
-
void
obsd_destroy_device(struct libusb_device *dev)
{
static int sunos_set_interface_altsetting(struct libusb_device_handle *,
int, int);
static int sunos_clear_halt(struct libusb_device_handle *, uint8_t);
-static int sunos_reset_device(struct libusb_device_handle *);
static void sunos_destroy_device(struct libusb_device *);
static int sunos_submit_transfer(struct usbi_transfer *);
static int sunos_cancel_transfer(struct usbi_transfer *);
return (ret);
}
-int
-sunos_reset_device(struct libusb_device_handle *handle)
-{
- usbi_dbg(" ");
-
- return (LIBUSB_ERROR_NOT_SUPPORTED);
-}
-
void
sunos_destroy_device(struct libusb_device *dev)
{
.release_interface = sunos_release_interface,
.set_interface_altsetting = sunos_set_interface_altsetting,
.clear_halt = sunos_clear_halt,
- .reset_device = sunos_reset_device, /* TODO */
.kernel_driver_active = sunos_kernel_driver_active,
.detach_kernel_driver = sunos_detach_kernel_driver,
.attach_kernel_driver = sunos_attach_kernel_driver,
-#define LIBUSB_NANO 11466
+#define LIBUSB_NANO 11467