Lines Matching refs:dev

58 #define DARWIN_CACHED_DEVICE(a) ((struct darwin_cached_device *) (((struct darwin_device_priv *)((a)->os_priv))->dev))
63 static int darwin_get_config_descriptor(struct libusb_device *dev, uint8_t config_index, unsigned char *buffer, size_t len, int *host_endian);
272 struct libusb_device *dev = NULL;
291 dev = usbi_get_device_by_session_id(ctx, (unsigned long) session);
292 if (dev) {
295 usbi_disconnect_device(dev);
402 struct darwin_cached_device *dev, *next;
405 list_for_each_entry_safe(dev, next, &darwin_cached_devices, list, struct darwin_cached_device) {
406 darwin_deref_cached_device(dev);
456 static int darwin_get_device_descriptor(struct libusb_device *dev, unsigned char *buffer, int *host_endian) {
457 struct darwin_cached_device *priv = DARWIN_CACHED_DEVICE(dev);
467 static int get_configuration_index (struct libusb_device *dev, int config_value) {
468 struct darwin_cached_device *priv = DARWIN_CACHED_DEVICE(dev);
489 static int darwin_get_active_config_descriptor(struct libusb_device *dev, unsigned char *buffer, size_t len, int *host_endian) {
490 struct darwin_cached_device *priv = DARWIN_CACHED_DEVICE(dev);
496 config_index = get_configuration_index (dev, priv->active_config);
500 return darwin_get_config_descriptor (dev, config_index, buffer, len, host_endian);
503 static int darwin_get_config_descriptor(struct libusb_device *dev, uint8_t config_index, unsigned char *buffer, size_t len, int *host_endian) {
504 struct darwin_cached_device *priv = DARWIN_CACHED_DEVICE(dev);
532 static int darwin_check_configuration (struct libusb_context *ctx, struct darwin_cached_device *dev) {
533 usb_device_t **darwin_device = dev->device;
541 if (dev->dev_descriptor.bNumConfigurations < 1) {
548 dev->first_config = (kIOReturnSuccess == kresult) ? configDesc->bConfigurationValue : 1;
574 if (dev->dev_descriptor.bNumConfigurations == 1)
576 dev->active_config = dev->first_config;
579 (*darwin_device)->GetConfiguration (darwin_device, &dev->active_config);
582 dev->active_config = 0;
584 usbi_dbg ("active config: %u, first config: %u", dev->active_config, dev->first_config);
607 static int darwin_cache_device_descriptor (struct libusb_context *ctx, struct darwin_cached_device *dev) {
608 usb_device_t **device = dev->device;
616 dev->can_enumerate = 0;
629 ret = darwin_request_descriptor (device, kUSBDeviceDesc, 0, &dev->dev_descriptor, sizeof(dev->dev_descriptor));
631 if (kIOReturnOverrun == ret && kUSBDeviceDesc == dev->dev_descriptor.bDescriptorType)
640 if (kIOReturnSuccess == ret && (0 == dev->dev_descriptor.bNumConfigurations ||
641 0 == dev->dev_descriptor.bcdUSB)) {
709 if (libusb_le16_to_cpu (dev->dev_descriptor.idProduct) != idProduct) {
712 idProduct, libusb_le16_to_cpu (dev->dev_descriptor.idProduct));
717 usbi_dbg (" bDescriptorType: 0x%02x", dev->dev_descriptor.bDescriptorType);
718 usbi_dbg (" bcdUSB: 0x%04x", dev->dev_descriptor.bcdUSB);
719 usbi_dbg (" bDeviceClass: 0x%02x", dev->dev_descriptor.bDeviceClass);
720 usbi_dbg (" bDeviceSubClass: 0x%02x", dev->dev_descriptor.bDeviceSubClass);
721 usbi_dbg (" bDeviceProtocol: 0x%02x", dev->dev_descriptor.bDeviceProtocol);
722 usbi_dbg (" bMaxPacketSize0: 0x%02x", dev->dev_descriptor.bMaxPacketSize0);
723 usbi_dbg (" idVendor: 0x%04x", dev->dev_descriptor.idVendor);
724 usbi_dbg (" idProduct: 0x%04x", dev->dev_descriptor.idProduct);
725 usbi_dbg (" bcdDevice: 0x%04x", dev->dev_descriptor.bcdDevice);
726 usbi_dbg (" iManufacturer: 0x%02x", dev->dev_descriptor.iManufacturer);
727 usbi_dbg (" iProduct: 0x%02x", dev->dev_descriptor.iProduct);
728 usbi_dbg (" iSerialNumber: 0x%02x", dev->dev_descriptor.iSerialNumber);
729 usbi_dbg (" bNumConfigurations: 0x%02x", dev->dev_descriptor.bNumConfigurations);
731 dev->can_enumerate = 1;
827 struct libusb_device *dev = NULL;
848 dev = usbi_alloc_device(ctx, (unsigned long) cached_device->session);
849 if (!dev) {
853 priv = (struct darwin_device_priv *)dev->os_priv;
855 priv->dev = cached_device;
856 darwin_ref_cached_device (priv->dev);
859 dev->parent_dev = usbi_get_device_by_session_id (ctx, (unsigned long) cached_device->parent_session);
861 dev->parent_dev = NULL;
863 dev->port_number = cached_device->port;
864 dev->bus_number = cached_device->location >> 24;
865 dev->device_address = cached_device->address;
868 if (dev->parent_dev) {
869 libusb_ref_device(dev->parent_dev);
872 (*(priv->dev->device))->GetDeviceSpeed (priv->dev->device, &devSpeed);
875 case kUSBDeviceSpeedLow: dev->speed = LIBUSB_SPEED_LOW; break;
876 case kUSBDeviceSpeedFull: dev->speed = LIBUSB_SPEED_FULL; break;
877 case kUSBDeviceSpeedHigh: dev->speed = LIBUSB_SPEED_HIGH; break;
879 case kUSBDeviceSpeedSuper: dev->speed = LIBUSB_SPEED_SUPER; break;
885 ret = usbi_sanitize_device (dev);
889 usbi_dbg ("found device with address %d port = %d parent = %p at %p", dev->device_address,
890 dev->port_number, (void *) dev->parent_dev, priv->dev->sys_path);
894 usbi_connect_device (dev);
896 libusb_unref_device (dev);
924 struct darwin_cached_device *dpriv = DARWIN_CACHED_DEVICE(dev_handle->dev);
981 struct darwin_cached_device *dpriv = DARWIN_CACHED_DEVICE(dev_handle->dev);
1027 struct darwin_cached_device *dpriv = DARWIN_CACHED_DEVICE(dev_handle->dev);
1035 struct darwin_cached_device *dpriv = DARWIN_CACHED_DEVICE(dev_handle->dev);
1140 struct darwin_cached_device *dpriv = DARWIN_CACHED_DEVICE(dev_handle->dev);
1328 struct darwin_cached_device *dpriv = DARWIN_CACHED_DEVICE(dev_handle->dev);
1380 struct darwin_cached_device *dpriv = DARWIN_CACHED_DEVICE(dev_handle->dev);
1418 static void darwin_destroy_device(struct libusb_device *dev) {
1419 struct darwin_device_priv *dpriv = (struct darwin_device_priv *) dev->os_priv;
1421 if (dpriv->dev) {
1424 darwin_deref_cached_device (dpriv->dev);
1425 dpriv->dev = NULL;
1566 if (LIBUSB_SPEED_FULL == transfer->dev_handle->dev->speed)
1586 struct darwin_cached_device *dpriv = DARWIN_CACHED_DEVICE(transfer->dev_handle->dev);
1652 struct darwin_cached_device *dpriv = DARWIN_CACHED_DEVICE(transfer->dev_handle->dev);
1667 struct darwin_cached_device *dpriv = DARWIN_CACHED_DEVICE(transfer->dev_handle->dev);