| Index: third_party/libusb/src/libusb/os/darwin_usb.h
|
| diff --git a/third_party/libusb/src/libusb/os/darwin_usb.h b/third_party/libusb/src/libusb/os/darwin_usb.h
|
| index 59d0a694cedea8f1d3141261312734ca2d6d9872..53b8542b13cd30600b271b455ee362a54f98b23d 100644
|
| --- a/third_party/libusb/src/libusb/os/darwin_usb.h
|
| +++ b/third_party/libusb/src/libusb/os/darwin_usb.h
|
| @@ -1,6 +1,6 @@
|
| /*
|
| - * darwin backend for libusb 1.0
|
| - * Copyright (C) 2008-2009 Nathan Hjelm <hjelmn@users.sourceforge.net>
|
| + * darwin backend for libusbx 1.0
|
| + * Copyright © 2008-2013 Nathan Hjelm <hjelmn@users.sourceforge.net>
|
| *
|
| * This library is free software; you can redistribute it and/or
|
| * modify it under the terms of the GNU Lesser General Public
|
| @@ -28,7 +28,19 @@
|
| #include <IOKit/IOCFPlugIn.h>
|
|
|
| /* IOUSBInterfaceInferface */
|
| -#if defined (kIOUSBInterfaceInterfaceID300)
|
| +#if defined (kIOUSBInterfaceInterfaceID550)
|
| +
|
| +#define usb_interface_t IOUSBInterfaceInterface550
|
| +#define InterfaceInterfaceID kIOUSBInterfaceInterfaceID550
|
| +#define InterfaceVersion 550
|
| +
|
| +#elif defined (kIOUSBInterfaceInterfaceID500)
|
| +
|
| +#define usb_interface_t IOUSBInterfaceInterface500
|
| +#define InterfaceInterfaceID kIOUSBInterfaceInterfaceID500
|
| +#define InterfaceVersion 500
|
| +
|
| +#elif defined (kIOUSBInterfaceInterfaceID300)
|
|
|
| #define usb_interface_t IOUSBInterfaceInterface300
|
| #define InterfaceInterfaceID kIOUSBInterfaceInterfaceID300
|
| @@ -46,24 +58,6 @@
|
| #define InterfaceInterfaceID kIOUSBInterfaceInterfaceID220
|
| #define InterfaceVersion 220
|
|
|
| -#elif defined (kIOUSBInterfaceInterfaceID197)
|
| -
|
| -#define usb_interface_t IOUSBInterfaceInterface197
|
| -#define InterfaceInterfaceID kIOUSBInterfaceInterfaceID197
|
| -#define InterfaceVersion 197
|
| -
|
| -#elif defined (kIOUSBInterfaceInterfaceID190)
|
| -
|
| -#define usb_interface_t IOUSBInterfaceInterface190
|
| -#define InterfaceInterfaceID kIOUSBInterfaceInterfaceID190
|
| -#define InterfaceVersion 190
|
| -
|
| -#elif defined (kIOUSBInterfaceInterfaceID182)
|
| -
|
| -#define usb_interface_t IOUSBInterfaceInterface182
|
| -#define InterfaceInterfaceID kIOUSBInterfaceInterfaceID182
|
| -#define InterfaceVersion 182
|
| -
|
| #else
|
|
|
| #error "IOUSBFamily is too old. Please upgrade your OS"
|
| @@ -71,7 +65,13 @@
|
| #endif
|
|
|
| /* IOUSBDeviceInterface */
|
| -#if defined (kIOUSBDeviceInterfaceID320)
|
| +#if defined (kIOUSBDeviceInterfaceID500)
|
| +
|
| +#define usb_device_t IOUSBDeviceInterface500
|
| +#define DeviceInterfaceID kIOUSBDeviceInterfaceID500
|
| +#define DeviceVersion 500
|
| +
|
| +#elif defined (kIOUSBDeviceInterfaceID320)
|
|
|
| #define usb_device_t IOUSBDeviceInterface320
|
| #define DeviceInterfaceID kIOUSBDeviceInterfaceID320
|
| @@ -89,24 +89,11 @@
|
| #define DeviceInterfaceID kIOUSBDeviceInterfaceID245
|
| #define DeviceVersion 245
|
|
|
| -#elif defined (kIOUSBDeviceInterfaceID197)
|
| -
|
| +#elif defined (kIOUSBDeviceInterfaceID220)
|
| #define usb_device_t IOUSBDeviceInterface197
|
| #define DeviceInterfaceID kIOUSBDeviceInterfaceID197
|
| #define DeviceVersion 197
|
|
|
| -#elif defined (kIOUSBDeviceInterfaceID187)
|
| -
|
| -#define usb_device_t IOUSBDeviceInterface187
|
| -#define DeviceInterfaceID kIOUSBDeviceInterfaceID187
|
| -#define DeviceVersion 187
|
| -
|
| -#elif defined (kIOUSBDeviceInterfaceID182)
|
| -
|
| -#define usb_device_t IOUSBDeviceInterface182
|
| -#define DeviceInterfaceID kIOUSBDeviceInterfaceID182
|
| -#define DeviceVersion 182
|
| -
|
| #else
|
|
|
| #error "IOUSBFamily is too old. Please upgrade your OS"
|
| @@ -121,13 +108,23 @@ typedef IOCFPlugInInterface *io_cf_plugin_ref_t;
|
| typedef IONotificationPortRef io_notification_port_t;
|
|
|
| /* private structures */
|
| -struct darwin_device_priv {
|
| +struct darwin_cached_device {
|
| + struct list_head list;
|
| IOUSBDeviceDescriptor dev_descriptor;
|
| UInt32 location;
|
| + UInt64 parent_session;
|
| + UInt64 session;
|
| + UInt16 address;
|
| char sys_path[21];
|
| usb_device_t **device;
|
| int open_count;
|
| - UInt8 first_config, active_config;
|
| + UInt8 first_config, active_config, port;
|
| + int can_enumerate;
|
| + int refcount;
|
| +};
|
| +
|
| +struct darwin_device_priv {
|
| + struct darwin_cached_device *dev;
|
| };
|
|
|
| struct darwin_device_handle_priv {
|
| @@ -147,23 +144,19 @@ struct darwin_device_handle_priv {
|
| struct darwin_transfer_priv {
|
| /* Isoc */
|
| IOUSBIsocFrame *isoc_framelist;
|
| - size_t num_iso_packets;
|
| + int num_iso_packets;
|
|
|
| /* Control */
|
| -#if !defined (LIBUSB_NO_TIMEOUT_DEVICE)
|
| IOUSBDevRequestTO req;
|
| -#else
|
| - IOUSBDevRequest req;
|
| -#endif
|
|
|
| /* Bulk */
|
| };
|
|
|
| -enum {
|
| - MESSAGE_DEVICE_GONE,
|
| - MESSAGE_ASYNC_IO_COMPLETE
|
| +/* structure for signaling io completion */
|
| +struct darwin_msg_async_io_complete {
|
| + struct usbi_transfer *itransfer;
|
| + IOReturn result;
|
| + UInt32 size;
|
| };
|
|
|
| -
|
| -
|
| #endif
|
|
|