| Index: third_party/libusb/libusb/os/darwin_usb.h
 | 
| diff --git a/third_party/libusb/libusb/os/darwin_usb.h b/third_party/libusb/libusb/os/darwin_usb.h
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..59d0a694cedea8f1d3141261312734ca2d6d9872
 | 
| --- /dev/null
 | 
| +++ b/third_party/libusb/libusb/os/darwin_usb.h
 | 
| @@ -0,0 +1,169 @@
 | 
| +/*
 | 
| + * darwin backend for libusb 1.0
 | 
| + * Copyright (C) 2008-2009 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
 | 
| + * License as published by the Free Software Foundation; either
 | 
| + * version 2.1 of the License, or (at your option) any later version.
 | 
| + *
 | 
| + * This library is distributed in the hope that it will be useful,
 | 
| + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
| + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
| + * Lesser General Public License for more details.
 | 
| + *
 | 
| + * You should have received a copy of the GNU Lesser General Public
 | 
| + * License along with this library; if not, write to the Free Software
 | 
| + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 | 
| + */
 | 
| +
 | 
| +#if !defined(LIBUSB_DARWIN_H)
 | 
| +#define LIBUSB_DARWIN_H
 | 
| +
 | 
| +#include "libusbi.h"
 | 
| +
 | 
| +#include <IOKit/IOTypes.h>
 | 
| +#include <IOKit/IOCFBundle.h>
 | 
| +#include <IOKit/usb/IOUSBLib.h>
 | 
| +#include <IOKit/IOCFPlugIn.h>
 | 
| +
 | 
| +/* IOUSBInterfaceInferface */
 | 
| +#if defined (kIOUSBInterfaceInterfaceID300)
 | 
| +
 | 
| +#define usb_interface_t IOUSBInterfaceInterface300
 | 
| +#define InterfaceInterfaceID kIOUSBInterfaceInterfaceID300
 | 
| +#define InterfaceVersion 300
 | 
| +
 | 
| +#elif defined (kIOUSBInterfaceInterfaceID245)
 | 
| +
 | 
| +#define usb_interface_t IOUSBInterfaceInterface245
 | 
| +#define InterfaceInterfaceID kIOUSBInterfaceInterfaceID245
 | 
| +#define InterfaceVersion 245
 | 
| +
 | 
| +#elif defined (kIOUSBInterfaceInterfaceID220)
 | 
| +
 | 
| +#define usb_interface_t IOUSBInterfaceInterface220
 | 
| +#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"
 | 
| +
 | 
| +#endif
 | 
| +
 | 
| +/* IOUSBDeviceInterface */
 | 
| +#if defined (kIOUSBDeviceInterfaceID320)
 | 
| +
 | 
| +#define usb_device_t    IOUSBDeviceInterface320
 | 
| +#define DeviceInterfaceID kIOUSBDeviceInterfaceID320
 | 
| +#define DeviceVersion 320
 | 
| +
 | 
| +#elif defined (kIOUSBDeviceInterfaceID300)
 | 
| +
 | 
| +#define usb_device_t    IOUSBDeviceInterface300
 | 
| +#define DeviceInterfaceID kIOUSBDeviceInterfaceID300
 | 
| +#define DeviceVersion 300
 | 
| +
 | 
| +#elif defined (kIOUSBDeviceInterfaceID245)
 | 
| +
 | 
| +#define usb_device_t    IOUSBDeviceInterface245
 | 
| +#define DeviceInterfaceID kIOUSBDeviceInterfaceID245
 | 
| +#define DeviceVersion 245
 | 
| +
 | 
| +#elif defined (kIOUSBDeviceInterfaceID197)
 | 
| +
 | 
| +#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"
 | 
| +
 | 
| +#endif
 | 
| +
 | 
| +#if !defined(IO_OBJECT_NULL)
 | 
| +#define IO_OBJECT_NULL ((io_object_t) 0)
 | 
| +#endif
 | 
| +
 | 
| +typedef IOCFPlugInInterface *io_cf_plugin_ref_t;
 | 
| +typedef IONotificationPortRef io_notification_port_t;
 | 
| +
 | 
| +/* private structures */
 | 
| +struct darwin_device_priv {
 | 
| +  IOUSBDeviceDescriptor dev_descriptor;
 | 
| +  UInt32                location;
 | 
| +  char                  sys_path[21];
 | 
| +  usb_device_t        **device;
 | 
| +  int                   open_count;
 | 
| +  UInt8                 first_config, active_config;
 | 
| +};
 | 
| +
 | 
| +struct darwin_device_handle_priv {
 | 
| +  int                  is_open;
 | 
| +  CFRunLoopSourceRef   cfSource;
 | 
| +  int                  fds[2];
 | 
| +
 | 
| +  struct darwin_interface {
 | 
| +    usb_interface_t    **interface;
 | 
| +    uint8_t              num_endpoints;
 | 
| +    CFRunLoopSourceRef   cfSource;
 | 
| +    uint64_t             frames[256];
 | 
| +    uint8_t            endpoint_addrs[USB_MAXENDPOINTS];
 | 
| +  } interfaces[USB_MAXINTERFACES];
 | 
| +};
 | 
| +
 | 
| +struct darwin_transfer_priv {
 | 
| +  /* Isoc */
 | 
| +  IOUSBIsocFrame *isoc_framelist;
 | 
| +  size_t 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
 | 
| +};
 | 
| +
 | 
| +
 | 
| +
 | 
| +#endif
 | 
| 
 |