From ffe463421049aa72d6c608abdddfe62bf72bb5d1 Mon Sep 17 00:00:00 2001 From: paul eeepc Date: Fri, 18 Nov 2016 03:15:02 -0600 Subject: [PATCH] Initial commit for: firmware/macro.h host/include host/libusb-1.0.dll host/winlib --- firmware/macro.h | 222 ++++ host/include/Readme.txt | 4 + host/include/dbg.h | 39 + host/include/libusb.h | 1999 ++++++++++++++++++++++++++++++++++ host/libusb-1.0.dll | Bin 0 -> 252580 bytes host/winlib/Readme.txt | 3 + host/winlib/libusb-1.0.a | Bin 0 -> 172614 bytes host/winlib/libusb-1.0.dll.a | Bin 0 -> 133836 bytes 8 files changed, 2267 insertions(+) create mode 100644 firmware/macro.h create mode 100644 host/include/Readme.txt create mode 100644 host/include/dbg.h create mode 100644 host/include/libusb.h create mode 100644 host/libusb-1.0.dll create mode 100644 host/winlib/Readme.txt create mode 100644 host/winlib/libusb-1.0.a create mode 100644 host/winlib/libusb-1.0.dll.a diff --git a/firmware/macro.h b/firmware/macro.h new file mode 100644 index 0000000..a90dcdb --- /dev/null +++ b/firmware/macro.h @@ -0,0 +1,222 @@ +#include + +#define NOP() do { __asm__ __volatile__ ("nop"); } while (0) +// used for a very short delay + + +#define LO 0x00 +#define HI 0xFF + +#define TRUE 0x00 +//FALSE is ANYTHING but TRUE, the value signifies the error number + +//asci table +#define char_A 0x41 +#define char_C 0x43 +#define char_N 0x4e +#define char_E 0x45 +#define char_P 0x50 +#define char_R 0x52 +#define char_S 0x53 +#define char_Y 0x59 +#define char_EOF 0x1A + +//file header types +#define ERASE 1 +#define NES 2 +#define SNES 3 +#define SPI 4 +#define JTAG 5 +#define COPY 6 + +//file header feilds +#define PRG_BANKS_16 header[4] +#define CHR_BANKS_8 header[5] +#define MAP_LO header[6] +#define MAP_HI header[7] + +//Mapper numbers +#define NROM 0 +#define MMC1 1 +#define UxROM 2 +#define CNROM 3 +#define MMC3 4 +#define MMC2 9 +#define MMC4 10 +#define ACTION53 28 +#define IREM 65 +#define FME7 69 +#define VRC4 21 +#define VRC4alt 23 +#define NSF 255 + +//board versions +#define EPROM0 10 +#define EPROM1 11 +#define EPROM2 12 + +#define FLASH0 20 +#define FLASH1 21 + +#define DISCRETE0 30 + + +#define CA13n 7 + +//PIN DEFINITIONS +//AUX PORTD +#define EXP0 PD0 //RESET_n on SNES +#define LED PD1 +#define EXP9 PD1 //dual purposed pin +#define USBP PD2 +#define IRQ PD3 +#define USBM PD4 +#define CIA10 PD5 +#define BL PD6 +#define XOE PD7 //Only X_OE on purple and green boards +//X_OE and X_CLK on yellow final boards + +//CTL PORTC +#define M2 PC0 +#define PCE PC1 //SNES /ROMSEL +#define PRW PC2 +#define AXL PC3 //Free on green and yellow boards +//Also AXL /OE on Yellow boards +#define CRD PC4 //SNES /RD +#define CWR PC5 //SNES /WR +#define CICE PC6 +#define AHL PC7 //Also AXL on green proto boards + +//PORT DEFINITIONS +#define ADDR_OUT PORTA +#define ADDR_IN PINA +#define ADDR_DDR DDRA + +#define DATA_OUT PORTB +#define DATA_IN PINB +#define DATA_DDR DDRB + +//#define UP_ADDR PORTB +//second revision moves this to PORTA and combines AXL/AHL +//#define X_ADDR PORTB + +#define CTL_OUT PORTC +#define CTL_IN PINC +#define CTL_DDR DDRC + +#define AUX_OUT PORTD +#define AUX_IN PIND +#define AUX_DDR DDRD + +#define DATA_IP() DATA_DDR = LO +#define DATA_OP() DATA_DDR = HI +#define DATA_HI() DATA_OUT = HI +#define DATA_LO() DATA_OUT = LO + +#define ADDR_IP() ADDR_DDR = LO +#define ADDR_OP() ADDR_DDR = HI +#define ADDR_HI() ADDR_OUT = HI +#define ADDR_LO() ADDR_OUT = LO + + +//AHL, AXL, are always output and high, unless individually asserted. +#define CTL_IP() CTL_DDR = 0b10001000// &= ((1< high +#define LATCH_AXL() CTL_OUT &= ~(1< high + +#define M2_IP() CTL_DDR &= ~(1< low for CPU access cycle, and takes PRG /CE high if it was low + +#define PCE_HI() CTL_OUT |= (1< +#include +#include + +#ifdef NDEBUG +#define debug(M, ...) +#else +#define debug(M, ...) fprintf(stderr, "DEBUG %s:%d: " M "\n",\ + __FILE__, __LINE__, ##__VA_ARGS__) +#endif + +#define clean_errno() (errno == 0 ? "None" : strerror(errno)) + +#define log_err(M, ...) fprintf(stderr,\ + "[ERROR] (%s:%d: errno: %s) " M "\n", __FILE__, __LINE__,\ + clean_errno(), ##__VA_ARGS__) + +#define log_warn(M, ...) fprintf(stderr,\ + "[WARN] (%s:%d: errno: %s) " M "\n",\ + __FILE__, __LINE__, clean_errno(), ##__VA_ARGS__) + +#define log_info(M, ...) fprintf(stderr, "[INFO] (%s:%d) " M "\n",\ + __FILE__, __LINE__, ##__VA_ARGS__) + +#define check(A, M, ...) if(!(A)) {\ + log_err(M, ##__VA_ARGS__); errno=0; goto error; } + +#define sentinel(M, ...) { log_err(M, ##__VA_ARGS__);\ + errno=0; goto error; } + +#define check_mem(A) check((A), "Out of memory.") + +#define check_debug(A, M, ...) if(!(A)) { debug(M, ##__VA_ARGS__);\ + errno=0; goto error; } + +#endif diff --git a/host/include/libusb.h b/host/include/libusb.h new file mode 100644 index 0000000..c165a76 --- /dev/null +++ b/host/include/libusb.h @@ -0,0 +1,1999 @@ +/* + * Public libusb header file + * Copyright © 2001 Johannes Erdfelt + * Copyright © 2007-2008 Daniel Drake + * Copyright © 2012 Pete Batard + * Copyright © 2012 Nathan Hjelm + * For more information, please visit: http://libusb.info + * + * 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 + */ + +#ifndef LIBUSB_H +#define LIBUSB_H + +#ifdef _MSC_VER +/* on MS environments, the inline keyword is available in C++ only */ +#if !defined(__cplusplus) +#define inline __inline +#endif +/* ssize_t is also not available (copy/paste from MinGW) */ +#ifndef _SSIZE_T_DEFINED +#define _SSIZE_T_DEFINED +#undef ssize_t +#ifdef _WIN64 + typedef __int64 ssize_t; +#else + typedef int ssize_t; +#endif /* _WIN64 */ +#endif /* _SSIZE_T_DEFINED */ +#endif /* _MSC_VER */ + +/* stdint.h is not available on older MSVC */ +#if defined(_MSC_VER) && (_MSC_VER < 1600) && (!defined(_STDINT)) && (!defined(_STDINT_H)) +typedef unsigned __int8 uint8_t; +typedef unsigned __int16 uint16_t; +typedef unsigned __int32 uint32_t; +#else +#include +#endif + +#if !defined(_WIN32_WCE) +#include +#endif + +#if defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__HAIKU__) +#include +#endif + +#include +#include + +/* 'interface' might be defined as a macro on Windows, so we need to + * undefine it so as not to break the current libusb API, because + * libusb_config_descriptor has an 'interface' member + * As this can be problematic if you include windows.h after libusb.h + * in your sources, we force windows.h to be included first. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +#include +#if defined(interface) +#undef interface +#endif +#if !defined(__CYGWIN__) +#include +#endif +#endif + +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) +#define LIBUSB_DEPRECATED_FOR(f) \ + __attribute__((deprecated("Use " #f " instead"))) +#else +#define LIBUSB_DEPRECATED_FOR(f) +#endif /* __GNUC__ */ + +/** \def LIBUSB_CALL + * \ingroup misc + * libusb's Windows calling convention. + * + * Under Windows, the selection of available compilers and configurations + * means that, unlike other platforms, there is not one true calling + * convention (calling convention: the manner in which parameters are + * passed to functions in the generated assembly code). + * + * Matching the Windows API itself, libusb uses the WINAPI convention (which + * translates to the stdcall convention) and guarantees that the + * library is compiled in this way. The public header file also includes + * appropriate annotations so that your own software will use the right + * convention, even if another convention is being used by default within + * your codebase. + * + * The one consideration that you must apply in your software is to mark + * all functions which you use as libusb callbacks with this LIBUSB_CALL + * annotation, so that they too get compiled for the correct calling + * convention. + * + * On non-Windows operating systems, this macro is defined as nothing. This + * means that you can apply it to your code without worrying about + * cross-platform compatibility. + */ +/* LIBUSB_CALL must be defined on both definition and declaration of libusb + * functions. You'd think that declaration would be enough, but cygwin will + * complain about conflicting types unless both are marked this way. + * The placement of this macro is important too; it must appear after the + * return type, before the function name. See internal documentation for + * API_EXPORTED. + */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +#define LIBUSB_CALL WINAPI +#else +#define LIBUSB_CALL +#endif + +/** \def LIBUSB_API_VERSION + * \ingroup misc + * libusb's API version. + * + * Since version 1.0.13, to help with feature detection, libusb defines + * a LIBUSB_API_VERSION macro that gets increased every time there is a + * significant change to the API, such as the introduction of a new call, + * the definition of a new macro/enum member, or any other element that + * libusb applications may want to detect at compilation time. + * + * The macro is typically used in an application as follows: + * \code + * #if defined(LIBUSB_API_VERSION) && (LIBUSB_API_VERSION >= 0x01001234) + * // Use one of the newer features from the libusb API + * #endif + * \endcode + * + * Internally, LIBUSB_API_VERSION is defined as follows: + * (libusb major << 24) | (libusb minor << 16) | (16 bit incremental) + */ +#define LIBUSB_API_VERSION 0x01000104 + +/* The following is kept for compatibility, but will be deprecated in the future */ +#define LIBUSBX_API_VERSION LIBUSB_API_VERSION + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \ingroup misc + * Convert a 16-bit value from host-endian to little-endian format. On + * little endian systems, this function does nothing. On big endian systems, + * the bytes are swapped. + * \param x the host-endian value to convert + * \returns the value in little-endian byte order + */ +static inline uint16_t libusb_cpu_to_le16(const uint16_t x) +{ + union { + uint8_t b8[2]; + uint16_t b16; + } _tmp; + _tmp.b8[1] = (uint8_t) (x >> 8); + _tmp.b8[0] = (uint8_t) (x & 0xff); + return _tmp.b16; +} + +/** \def libusb_le16_to_cpu + * \ingroup misc + * Convert a 16-bit value from little-endian to host-endian format. On + * little endian systems, this function does nothing. On big endian systems, + * the bytes are swapped. + * \param x the little-endian value to convert + * \returns the value in host-endian byte order + */ +#define libusb_le16_to_cpu libusb_cpu_to_le16 + +/* standard USB stuff */ + +/** \ingroup desc + * Device and/or Interface Class codes */ +enum libusb_class_code { + /** In the context of a \ref libusb_device_descriptor "device descriptor", + * this bDeviceClass value indicates that each interface specifies its + * own class information and all interfaces operate independently. + */ + LIBUSB_CLASS_PER_INTERFACE = 0, + + /** Audio class */ + LIBUSB_CLASS_AUDIO = 1, + + /** Communications class */ + LIBUSB_CLASS_COMM = 2, + + /** Human Interface Device class */ + LIBUSB_CLASS_HID = 3, + + /** Physical */ + LIBUSB_CLASS_PHYSICAL = 5, + + /** Printer class */ + LIBUSB_CLASS_PRINTER = 7, + + /** Image class */ + LIBUSB_CLASS_PTP = 6, /* legacy name from libusb-0.1 usb.h */ + LIBUSB_CLASS_IMAGE = 6, + + /** Mass storage class */ + LIBUSB_CLASS_MASS_STORAGE = 8, + + /** Hub class */ + LIBUSB_CLASS_HUB = 9, + + /** Data class */ + LIBUSB_CLASS_DATA = 10, + + /** Smart Card */ + LIBUSB_CLASS_SMART_CARD = 0x0b, + + /** Content Security */ + LIBUSB_CLASS_CONTENT_SECURITY = 0x0d, + + /** Video */ + LIBUSB_CLASS_VIDEO = 0x0e, + + /** Personal Healthcare */ + LIBUSB_CLASS_PERSONAL_HEALTHCARE = 0x0f, + + /** Diagnostic Device */ + LIBUSB_CLASS_DIAGNOSTIC_DEVICE = 0xdc, + + /** Wireless class */ + LIBUSB_CLASS_WIRELESS = 0xe0, + + /** Application class */ + LIBUSB_CLASS_APPLICATION = 0xfe, + + /** Class is vendor-specific */ + LIBUSB_CLASS_VENDOR_SPEC = 0xff +}; + +/** \ingroup desc + * Descriptor types as defined by the USB specification. */ +enum libusb_descriptor_type { + /** Device descriptor. See libusb_device_descriptor. */ + LIBUSB_DT_DEVICE = 0x01, + + /** Configuration descriptor. See libusb_config_descriptor. */ + LIBUSB_DT_CONFIG = 0x02, + + /** String descriptor */ + LIBUSB_DT_STRING = 0x03, + + /** Interface descriptor. See libusb_interface_descriptor. */ + LIBUSB_DT_INTERFACE = 0x04, + + /** Endpoint descriptor. See libusb_endpoint_descriptor. */ + LIBUSB_DT_ENDPOINT = 0x05, + + /** BOS descriptor */ + LIBUSB_DT_BOS = 0x0f, + + /** Device Capability descriptor */ + LIBUSB_DT_DEVICE_CAPABILITY = 0x10, + + /** HID descriptor */ + LIBUSB_DT_HID = 0x21, + + /** HID report descriptor */ + LIBUSB_DT_REPORT = 0x22, + + /** Physical descriptor */ + LIBUSB_DT_PHYSICAL = 0x23, + + /** Hub descriptor */ + LIBUSB_DT_HUB = 0x29, + + /** SuperSpeed Hub descriptor */ + LIBUSB_DT_SUPERSPEED_HUB = 0x2a, + + /** SuperSpeed Endpoint Companion descriptor */ + LIBUSB_DT_SS_ENDPOINT_COMPANION = 0x30 +}; + +/* Descriptor sizes per descriptor type */ +#define LIBUSB_DT_DEVICE_SIZE 18 +#define LIBUSB_DT_CONFIG_SIZE 9 +#define LIBUSB_DT_INTERFACE_SIZE 9 +#define LIBUSB_DT_ENDPOINT_SIZE 7 +#define LIBUSB_DT_ENDPOINT_AUDIO_SIZE 9 /* Audio extension */ +#define LIBUSB_DT_HUB_NONVAR_SIZE 7 +#define LIBUSB_DT_SS_ENDPOINT_COMPANION_SIZE 6 +#define LIBUSB_DT_BOS_SIZE 5 +#define LIBUSB_DT_DEVICE_CAPABILITY_SIZE 3 + +/* BOS descriptor sizes */ +#define LIBUSB_BT_USB_2_0_EXTENSION_SIZE 7 +#define LIBUSB_BT_SS_USB_DEVICE_CAPABILITY_SIZE 10 +#define LIBUSB_BT_CONTAINER_ID_SIZE 20 + +/* We unwrap the BOS => define its max size */ +#define LIBUSB_DT_BOS_MAX_SIZE ((LIBUSB_DT_BOS_SIZE) +\ + (LIBUSB_BT_USB_2_0_EXTENSION_SIZE) +\ + (LIBUSB_BT_SS_USB_DEVICE_CAPABILITY_SIZE) +\ + (LIBUSB_BT_CONTAINER_ID_SIZE)) + +#define LIBUSB_ENDPOINT_ADDRESS_MASK 0x0f /* in bEndpointAddress */ +#define LIBUSB_ENDPOINT_DIR_MASK 0x80 + +/** \ingroup desc + * Endpoint direction. Values for bit 7 of the + * \ref libusb_endpoint_descriptor::bEndpointAddress "endpoint address" scheme. + */ +enum libusb_endpoint_direction { + /** In: device-to-host */ + LIBUSB_ENDPOINT_IN = 0x80, + + /** Out: host-to-device */ + LIBUSB_ENDPOINT_OUT = 0x00 +}; + +#define LIBUSB_TRANSFER_TYPE_MASK 0x03 /* in bmAttributes */ + +/** \ingroup desc + * Endpoint transfer type. Values for bits 0:1 of the + * \ref libusb_endpoint_descriptor::bmAttributes "endpoint attributes" field. + */ +enum libusb_transfer_type { + /** Control endpoint */ + LIBUSB_TRANSFER_TYPE_CONTROL = 0, + + /** Isochronous endpoint */ + LIBUSB_TRANSFER_TYPE_ISOCHRONOUS = 1, + + /** Bulk endpoint */ + LIBUSB_TRANSFER_TYPE_BULK = 2, + + /** Interrupt endpoint */ + LIBUSB_TRANSFER_TYPE_INTERRUPT = 3, + + /** Stream endpoint */ + LIBUSB_TRANSFER_TYPE_BULK_STREAM = 4, +}; + +/** \ingroup misc + * Standard requests, as defined in table 9-5 of the USB 3.0 specifications */ +enum libusb_standard_request { + /** Request status of the specific recipient */ + LIBUSB_REQUEST_GET_STATUS = 0x00, + + /** Clear or disable a specific feature */ + LIBUSB_REQUEST_CLEAR_FEATURE = 0x01, + + /* 0x02 is reserved */ + + /** Set or enable a specific feature */ + LIBUSB_REQUEST_SET_FEATURE = 0x03, + + /* 0x04 is reserved */ + + /** Set device address for all future accesses */ + LIBUSB_REQUEST_SET_ADDRESS = 0x05, + + /** Get the specified descriptor */ + LIBUSB_REQUEST_GET_DESCRIPTOR = 0x06, + + /** Used to update existing descriptors or add new descriptors */ + LIBUSB_REQUEST_SET_DESCRIPTOR = 0x07, + + /** Get the current device configuration value */ + LIBUSB_REQUEST_GET_CONFIGURATION = 0x08, + + /** Set device configuration */ + LIBUSB_REQUEST_SET_CONFIGURATION = 0x09, + + /** Return the selected alternate setting for the specified interface */ + LIBUSB_REQUEST_GET_INTERFACE = 0x0A, + + /** Select an alternate interface for the specified interface */ + LIBUSB_REQUEST_SET_INTERFACE = 0x0B, + + /** Set then report an endpoint's synchronization frame */ + LIBUSB_REQUEST_SYNCH_FRAME = 0x0C, + + /** Sets both the U1 and U2 Exit Latency */ + LIBUSB_REQUEST_SET_SEL = 0x30, + + /** Delay from the time a host transmits a packet to the time it is + * received by the device. */ + LIBUSB_SET_ISOCH_DELAY = 0x31, +}; + +/** \ingroup misc + * Request type bits of the + * \ref libusb_control_setup::bmRequestType "bmRequestType" field in control + * transfers. */ +enum libusb_request_type { + /** Standard */ + LIBUSB_REQUEST_TYPE_STANDARD = (0x00 << 5), + + /** Class */ + LIBUSB_REQUEST_TYPE_CLASS = (0x01 << 5), + + /** Vendor */ + LIBUSB_REQUEST_TYPE_VENDOR = (0x02 << 5), + + /** Reserved */ + LIBUSB_REQUEST_TYPE_RESERVED = (0x03 << 5) +}; + +/** \ingroup misc + * Recipient bits of the + * \ref libusb_control_setup::bmRequestType "bmRequestType" field in control + * transfers. Values 4 through 31 are reserved. */ +enum libusb_request_recipient { + /** Device */ + LIBUSB_RECIPIENT_DEVICE = 0x00, + + /** Interface */ + LIBUSB_RECIPIENT_INTERFACE = 0x01, + + /** Endpoint */ + LIBUSB_RECIPIENT_ENDPOINT = 0x02, + + /** Other */ + LIBUSB_RECIPIENT_OTHER = 0x03, +}; + +#define LIBUSB_ISO_SYNC_TYPE_MASK 0x0C + +/** \ingroup desc + * Synchronization type for isochronous endpoints. Values for bits 2:3 of the + * \ref libusb_endpoint_descriptor::bmAttributes "bmAttributes" field in + * libusb_endpoint_descriptor. + */ +enum libusb_iso_sync_type { + /** No synchronization */ + LIBUSB_ISO_SYNC_TYPE_NONE = 0, + + /** Asynchronous */ + LIBUSB_ISO_SYNC_TYPE_ASYNC = 1, + + /** Adaptive */ + LIBUSB_ISO_SYNC_TYPE_ADAPTIVE = 2, + + /** Synchronous */ + LIBUSB_ISO_SYNC_TYPE_SYNC = 3 +}; + +#define LIBUSB_ISO_USAGE_TYPE_MASK 0x30 + +/** \ingroup desc + * Usage type for isochronous endpoints. Values for bits 4:5 of the + * \ref libusb_endpoint_descriptor::bmAttributes "bmAttributes" field in + * libusb_endpoint_descriptor. + */ +enum libusb_iso_usage_type { + /** Data endpoint */ + LIBUSB_ISO_USAGE_TYPE_DATA = 0, + + /** Feedback endpoint */ + LIBUSB_ISO_USAGE_TYPE_FEEDBACK = 1, + + /** Implicit feedback Data endpoint */ + LIBUSB_ISO_USAGE_TYPE_IMPLICIT = 2, +}; + +/** \ingroup desc + * A structure representing the standard USB device descriptor. This + * descriptor is documented in section 9.6.1 of the USB 3.0 specification. + * All multiple-byte fields are represented in host-endian format. + */ +struct libusb_device_descriptor { + /** Size of this descriptor (in bytes) */ + uint8_t bLength; + + /** Descriptor type. Will have value + * \ref libusb_descriptor_type::LIBUSB_DT_DEVICE LIBUSB_DT_DEVICE in this + * context. */ + uint8_t bDescriptorType; + + /** USB specification release number in binary-coded decimal. A value of + * 0x0200 indicates USB 2.0, 0x0110 indicates USB 1.1, etc. */ + uint16_t bcdUSB; + + /** USB-IF class code for the device. See \ref libusb_class_code. */ + uint8_t bDeviceClass; + + /** USB-IF subclass code for the device, qualified by the bDeviceClass + * value */ + uint8_t bDeviceSubClass; + + /** USB-IF protocol code for the device, qualified by the bDeviceClass and + * bDeviceSubClass values */ + uint8_t bDeviceProtocol; + + /** Maximum packet size for endpoint 0 */ + uint8_t bMaxPacketSize0; + + /** USB-IF vendor ID */ + uint16_t idVendor; + + /** USB-IF product ID */ + uint16_t idProduct; + + /** Device release number in binary-coded decimal */ + uint16_t bcdDevice; + + /** Index of string descriptor describing manufacturer */ + uint8_t iManufacturer; + + /** Index of string descriptor describing product */ + uint8_t iProduct; + + /** Index of string descriptor containing device serial number */ + uint8_t iSerialNumber; + + /** Number of possible configurations */ + uint8_t bNumConfigurations; +}; + +/** \ingroup desc + * A structure representing the standard USB endpoint descriptor. This + * descriptor is documented in section 9.6.6 of the USB 3.0 specification. + * All multiple-byte fields are represented in host-endian format. + */ +struct libusb_endpoint_descriptor { + /** Size of this descriptor (in bytes) */ + uint8_t bLength; + + /** Descriptor type. Will have value + * \ref libusb_descriptor_type::LIBUSB_DT_ENDPOINT LIBUSB_DT_ENDPOINT in + * this context. */ + uint8_t bDescriptorType; + + /** The address of the endpoint described by this descriptor. Bits 0:3 are + * the endpoint number. Bits 4:6 are reserved. Bit 7 indicates direction, + * see \ref libusb_endpoint_direction. + */ + uint8_t bEndpointAddress; + + /** Attributes which apply to the endpoint when it is configured using + * the bConfigurationValue. Bits 0:1 determine the transfer type and + * correspond to \ref libusb_transfer_type. Bits 2:3 are only used for + * isochronous endpoints and correspond to \ref libusb_iso_sync_type. + * Bits 4:5 are also only used for isochronous endpoints and correspond to + * \ref libusb_iso_usage_type. Bits 6:7 are reserved. + */ + uint8_t bmAttributes; + + /** Maximum packet size this endpoint is capable of sending/receiving. */ + uint16_t wMaxPacketSize; + + /** Interval for polling endpoint for data transfers. */ + uint8_t bInterval; + + /** For audio devices only: the rate at which synchronization feedback + * is provided. */ + uint8_t bRefresh; + + /** For audio devices only: the address if the synch endpoint */ + uint8_t bSynchAddress; + + /** Extra descriptors. If libusb encounters unknown endpoint descriptors, + * it will store them here, should you wish to parse them. */ + const unsigned char *extra; + + /** Length of the extra descriptors, in bytes. */ + int extra_length; +}; + +/** \ingroup desc + * A structure representing the standard USB interface descriptor. This + * descriptor is documented in section 9.6.5 of the USB 3.0 specification. + * All multiple-byte fields are represented in host-endian format. + */ +struct libusb_interface_descriptor { + /** Size of this descriptor (in bytes) */ + uint8_t bLength; + + /** Descriptor type. Will have value + * \ref libusb_descriptor_type::LIBUSB_DT_INTERFACE LIBUSB_DT_INTERFACE + * in this context. */ + uint8_t bDescriptorType; + + /** Number of this interface */ + uint8_t bInterfaceNumber; + + /** Value used to select this alternate setting for this interface */ + uint8_t bAlternateSetting; + + /** Number of endpoints used by this interface (excluding the control + * endpoint). */ + uint8_t bNumEndpoints; + + /** USB-IF class code for this interface. See \ref libusb_class_code. */ + uint8_t bInterfaceClass; + + /** USB-IF subclass code for this interface, qualified by the + * bInterfaceClass value */ + uint8_t bInterfaceSubClass; + + /** USB-IF protocol code for this interface, qualified by the + * bInterfaceClass and bInterfaceSubClass values */ + uint8_t bInterfaceProtocol; + + /** Index of string descriptor describing this interface */ + uint8_t iInterface; + + /** Array of endpoint descriptors. This length of this array is determined + * by the bNumEndpoints field. */ + const struct libusb_endpoint_descriptor *endpoint; + + /** Extra descriptors. If libusb encounters unknown interface descriptors, + * it will store them here, should you wish to parse them. */ + const unsigned char *extra; + + /** Length of the extra descriptors, in bytes. */ + int extra_length; +}; + +/** \ingroup desc + * A collection of alternate settings for a particular USB interface. + */ +struct libusb_interface { + /** Array of interface descriptors. The length of this array is determined + * by the num_altsetting field. */ + const struct libusb_interface_descriptor *altsetting; + + /** The number of alternate settings that belong to this interface */ + int num_altsetting; +}; + +/** \ingroup desc + * A structure representing the standard USB configuration descriptor. This + * descriptor is documented in section 9.6.3 of the USB 3.0 specification. + * All multiple-byte fields are represented in host-endian format. + */ +struct libusb_config_descriptor { + /** Size of this descriptor (in bytes) */ + uint8_t bLength; + + /** Descriptor type. Will have value + * \ref libusb_descriptor_type::LIBUSB_DT_CONFIG LIBUSB_DT_CONFIG + * in this context. */ + uint8_t bDescriptorType; + + /** Total length of data returned for this configuration */ + uint16_t wTotalLength; + + /** Number of interfaces supported by this configuration */ + uint8_t bNumInterfaces; + + /** Identifier value for this configuration */ + uint8_t bConfigurationValue; + + /** Index of string descriptor describing this configuration */ + uint8_t iConfiguration; + + /** Configuration characteristics */ + uint8_t bmAttributes; + + /** Maximum power consumption of the USB device from this bus in this + * configuration when the device is fully operation. Expressed in units + * of 2 mA when the device is operating in high-speed mode and in units + * of 8 mA when the device is operating in super-speed mode. */ + uint8_t MaxPower; + + /** Array of interfaces supported by this configuration. The length of + * this array is determined by the bNumInterfaces field. */ + const struct libusb_interface *interface; + + /** Extra descriptors. If libusb encounters unknown configuration + * descriptors, it will store them here, should you wish to parse them. */ + const unsigned char *extra; + + /** Length of the extra descriptors, in bytes. */ + int extra_length; +}; + +/** \ingroup desc + * A structure representing the superspeed endpoint companion + * descriptor. This descriptor is documented in section 9.6.7 of + * the USB 3.0 specification. All multiple-byte fields are represented in + * host-endian format. + */ +struct libusb_ss_endpoint_companion_descriptor { + + /** Size of this descriptor (in bytes) */ + uint8_t bLength; + + /** Descriptor type. Will have value + * \ref libusb_descriptor_type::LIBUSB_DT_SS_ENDPOINT_COMPANION in + * this context. */ + uint8_t bDescriptorType; + + + /** The maximum number of packets the endpoint can send or + * recieve as part of a burst. */ + uint8_t bMaxBurst; + + /** In bulk EP: bits 4:0 represents the maximum number of + * streams the EP supports. In isochronous EP: bits 1:0 + * represents the Mult - a zero based value that determines + * the maximum number of packets within a service interval */ + uint8_t bmAttributes; + + /** The total number of bytes this EP will transfer every + * service interval. valid only for periodic EPs. */ + uint16_t wBytesPerInterval; +}; + +/** \ingroup desc + * A generic representation of a BOS Device Capability descriptor. It is + * advised to check bDevCapabilityType and call the matching + * libusb_get_*_descriptor function to get a structure fully matching the type. + */ +struct libusb_bos_dev_capability_descriptor { + /** Size of this descriptor (in bytes) */ + uint8_t bLength; + /** Descriptor type. Will have value + * \ref libusb_descriptor_type::LIBUSB_DT_DEVICE_CAPABILITY + * LIBUSB_DT_DEVICE_CAPABILITY in this context. */ + uint8_t bDescriptorType; + /** Device Capability type */ + uint8_t bDevCapabilityType; + /** Device Capability data (bLength - 3 bytes) */ + uint8_t dev_capability_data +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) + [] /* valid C99 code */ +#else + [0] /* non-standard, but usually working code */ +#endif + ; +}; + +/** \ingroup desc + * A structure representing the Binary Device Object Store (BOS) descriptor. + * This descriptor is documented in section 9.6.2 of the USB 3.0 specification. + * All multiple-byte fields are represented in host-endian format. + */ +struct libusb_bos_descriptor { + /** Size of this descriptor (in bytes) */ + uint8_t bLength; + + /** Descriptor type. Will have value + * \ref libusb_descriptor_type::LIBUSB_DT_BOS LIBUSB_DT_BOS + * in this context. */ + uint8_t bDescriptorType; + + /** Length of this descriptor and all of its sub descriptors */ + uint16_t wTotalLength; + + /** The number of separate device capability descriptors in + * the BOS */ + uint8_t bNumDeviceCaps; + + /** bNumDeviceCap Device Capability Descriptors */ + struct libusb_bos_dev_capability_descriptor *dev_capability +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) + [] /* valid C99 code */ +#else + [0] /* non-standard, but usually working code */ +#endif + ; +}; + +/** \ingroup desc + * A structure representing the USB 2.0 Extension descriptor + * This descriptor is documented in section 9.6.2.1 of the USB 3.0 specification. + * All multiple-byte fields are represented in host-endian format. + */ +struct libusb_usb_2_0_extension_descriptor { + /** Size of this descriptor (in bytes) */ + uint8_t bLength; + + /** Descriptor type. Will have value + * \ref libusb_descriptor_type::LIBUSB_DT_DEVICE_CAPABILITY + * LIBUSB_DT_DEVICE_CAPABILITY in this context. */ + uint8_t bDescriptorType; + + /** Capability type. Will have value + * \ref libusb_capability_type::LIBUSB_BT_USB_2_0_EXTENSION + * LIBUSB_BT_USB_2_0_EXTENSION in this context. */ + uint8_t bDevCapabilityType; + + /** Bitmap encoding of supported device level features. + * A value of one in a bit location indicates a feature is + * supported; a value of zero indicates it is not supported. + * See \ref libusb_usb_2_0_extension_attributes. */ + uint32_t bmAttributes; +}; + +/** \ingroup desc + * A structure representing the SuperSpeed USB Device Capability descriptor + * This descriptor is documented in section 9.6.2.2 of the USB 3.0 specification. + * All multiple-byte fields are represented in host-endian format. + */ +struct libusb_ss_usb_device_capability_descriptor { + /** Size of this descriptor (in bytes) */ + uint8_t bLength; + + /** Descriptor type. Will have value + * \ref libusb_descriptor_type::LIBUSB_DT_DEVICE_CAPABILITY + * LIBUSB_DT_DEVICE_CAPABILITY in this context. */ + uint8_t bDescriptorType; + + /** Capability type. Will have value + * \ref libusb_capability_type::LIBUSB_BT_SS_USB_DEVICE_CAPABILITY + * LIBUSB_BT_SS_USB_DEVICE_CAPABILITY in this context. */ + uint8_t bDevCapabilityType; + + /** Bitmap encoding of supported device level features. + * A value of one in a bit location indicates a feature is + * supported; a value of zero indicates it is not supported. + * See \ref libusb_ss_usb_device_capability_attributes. */ + uint8_t bmAttributes; + + /** Bitmap encoding of the speed supported by this device when + * operating in SuperSpeed mode. See \ref libusb_supported_speed. */ + uint16_t wSpeedSupported; + + /** The lowest speed at which all the functionality supported + * by the device is available to the user. For example if the + * device supports all its functionality when connected at + * full speed and above then it sets this value to 1. */ + uint8_t bFunctionalitySupport; + + /** U1 Device Exit Latency. */ + uint8_t bU1DevExitLat; + + /** U2 Device Exit Latency. */ + uint16_t bU2DevExitLat; +}; + +/** \ingroup desc + * A structure representing the Container ID descriptor. + * This descriptor is documented in section 9.6.2.3 of the USB 3.0 specification. + * All multiple-byte fields, except UUIDs, are represented in host-endian format. + */ +struct libusb_container_id_descriptor { + /** Size of this descriptor (in bytes) */ + uint8_t bLength; + + /** Descriptor type. Will have value + * \ref libusb_descriptor_type::LIBUSB_DT_DEVICE_CAPABILITY + * LIBUSB_DT_DEVICE_CAPABILITY in this context. */ + uint8_t bDescriptorType; + + /** Capability type. Will have value + * \ref libusb_capability_type::LIBUSB_BT_CONTAINER_ID + * LIBUSB_BT_CONTAINER_ID in this context. */ + uint8_t bDevCapabilityType; + + /** Reserved field */ + uint8_t bReserved; + + /** 128 bit UUID */ + uint8_t ContainerID[16]; +}; + +/** \ingroup asyncio + * Setup packet for control transfers. */ +struct libusb_control_setup { + /** Request type. Bits 0:4 determine recipient, see + * \ref libusb_request_recipient. Bits 5:6 determine type, see + * \ref libusb_request_type. Bit 7 determines data transfer direction, see + * \ref libusb_endpoint_direction. + */ + uint8_t bmRequestType; + + /** Request. If the type bits of bmRequestType are equal to + * \ref libusb_request_type::LIBUSB_REQUEST_TYPE_STANDARD + * "LIBUSB_REQUEST_TYPE_STANDARD" then this field refers to + * \ref libusb_standard_request. For other cases, use of this field is + * application-specific. */ + uint8_t bRequest; + + /** Value. Varies according to request */ + uint16_t wValue; + + /** Index. Varies according to request, typically used to pass an index + * or offset */ + uint16_t wIndex; + + /** Number of bytes to transfer */ + uint16_t wLength; +}; + +#define LIBUSB_CONTROL_SETUP_SIZE (sizeof(struct libusb_control_setup)) + +/* libusb */ + +struct libusb_context; +struct libusb_device; +struct libusb_device_handle; + +/** \ingroup lib + * Structure providing the version of the libusb runtime + */ +struct libusb_version { + /** Library major version. */ + const uint16_t major; + + /** Library minor version. */ + const uint16_t minor; + + /** Library micro version. */ + const uint16_t micro; + + /** Library nano version. */ + const uint16_t nano; + + /** Library release candidate suffix string, e.g. "-rc4". */ + const char *rc; + + /** For ABI compatibility only. */ + const char* describe; +}; + +/** \ingroup lib + * Structure representing a libusb session. The concept of individual libusb + * sessions allows for your program to use two libraries (or dynamically + * load two modules) which both independently use libusb. This will prevent + * interference between the individual libusb users - for example + * libusb_set_debug() will not affect the other user of the library, and + * libusb_exit() will not destroy resources that the other user is still + * using. + * + * Sessions are created by libusb_init() and destroyed through libusb_exit(). + * If your application is guaranteed to only ever include a single libusb + * user (i.e. you), you do not have to worry about contexts: pass NULL in + * every function call where a context is required. The default context + * will be used. + * + * For more information, see \ref contexts. + */ +typedef struct libusb_context libusb_context; + +/** \ingroup dev + * Structure representing a USB device detected on the system. This is an + * opaque type for which you are only ever provided with a pointer, usually + * originating from libusb_get_device_list(). + * + * Certain operations can be performed on a device, but in order to do any + * I/O you will have to first obtain a device handle using libusb_open(). + * + * Devices are reference counted with libusb_ref_device() and + * libusb_unref_device(), and are freed when the reference count reaches 0. + * New devices presented by libusb_get_device_list() have a reference count of + * 1, and libusb_free_device_list() can optionally decrease the reference count + * on all devices in the list. libusb_open() adds another reference which is + * later destroyed by libusb_close(). + */ +typedef struct libusb_device libusb_device; + + +/** \ingroup dev + * Structure representing a handle on a USB device. This is an opaque type for + * which you are only ever provided with a pointer, usually originating from + * libusb_open(). + * + * A device handle is used to perform I/O and other operations. When finished + * with a device handle, you should call libusb_close(). + */ +typedef struct libusb_device_handle libusb_device_handle; + +/** \ingroup dev + * Speed codes. Indicates the speed at which the device is operating. + */ +enum libusb_speed { + /** The OS doesn't report or know the device speed. */ + LIBUSB_SPEED_UNKNOWN = 0, + + /** The device is operating at low speed (1.5MBit/s). */ + LIBUSB_SPEED_LOW = 1, + + /** The device is operating at full speed (12MBit/s). */ + LIBUSB_SPEED_FULL = 2, + + /** The device is operating at high speed (480MBit/s). */ + LIBUSB_SPEED_HIGH = 3, + + /** The device is operating at super speed (5000MBit/s). */ + LIBUSB_SPEED_SUPER = 4, +}; + +/** \ingroup dev + * Supported speeds (wSpeedSupported) bitfield. Indicates what + * speeds the device supports. + */ +enum libusb_supported_speed { + /** Low speed operation supported (1.5MBit/s). */ + LIBUSB_LOW_SPEED_OPERATION = 1, + + /** Full speed operation supported (12MBit/s). */ + LIBUSB_FULL_SPEED_OPERATION = 2, + + /** High speed operation supported (480MBit/s). */ + LIBUSB_HIGH_SPEED_OPERATION = 4, + + /** Superspeed operation supported (5000MBit/s). */ + LIBUSB_SUPER_SPEED_OPERATION = 8, +}; + +/** \ingroup dev + * Masks for the bits of the + * \ref libusb_usb_2_0_extension_descriptor::bmAttributes "bmAttributes" field + * of the USB 2.0 Extension descriptor. + */ +enum libusb_usb_2_0_extension_attributes { + /** Supports Link Power Management (LPM) */ + LIBUSB_BM_LPM_SUPPORT = 2, +}; + +/** \ingroup dev + * Masks for the bits of the + * \ref libusb_ss_usb_device_capability_descriptor::bmAttributes "bmAttributes" field + * field of the SuperSpeed USB Device Capability descriptor. + */ +enum libusb_ss_usb_device_capability_attributes { + /** Supports Latency Tolerance Messages (LTM) */ + LIBUSB_BM_LTM_SUPPORT = 2, +}; + +/** \ingroup dev + * USB capability types + */ +enum libusb_bos_type { + /** Wireless USB device capability */ + LIBUSB_BT_WIRELESS_USB_DEVICE_CAPABILITY = 1, + + /** USB 2.0 extensions */ + LIBUSB_BT_USB_2_0_EXTENSION = 2, + + /** SuperSpeed USB device capability */ + LIBUSB_BT_SS_USB_DEVICE_CAPABILITY = 3, + + /** Container ID type */ + LIBUSB_BT_CONTAINER_ID = 4, +}; + +/** \ingroup misc + * Error codes. Most libusb functions return 0 on success or one of these + * codes on failure. + * You can call libusb_error_name() to retrieve a string representation of an + * error code or libusb_strerror() to get an end-user suitable description of + * an error code. + */ +enum libusb_error { + /** Success (no error) */ + LIBUSB_SUCCESS = 0, + + /** Input/output error */ + LIBUSB_ERROR_IO = -1, + + /** Invalid parameter */ + LIBUSB_ERROR_INVALID_PARAM = -2, + + /** Access denied (insufficient permissions) */ + LIBUSB_ERROR_ACCESS = -3, + + /** No such device (it may have been disconnected) */ + LIBUSB_ERROR_NO_DEVICE = -4, + + /** Entity not found */ + LIBUSB_ERROR_NOT_FOUND = -5, + + /** Resource busy */ + LIBUSB_ERROR_BUSY = -6, + + /** Operation timed out */ + LIBUSB_ERROR_TIMEOUT = -7, + + /** Overflow */ + LIBUSB_ERROR_OVERFLOW = -8, + + /** Pipe error */ + LIBUSB_ERROR_PIPE = -9, + + /** System call interrupted (perhaps due to signal) */ + LIBUSB_ERROR_INTERRUPTED = -10, + + /** Insufficient memory */ + LIBUSB_ERROR_NO_MEM = -11, + + /** Operation not supported or unimplemented on this platform */ + LIBUSB_ERROR_NOT_SUPPORTED = -12, + + /* NB: Remember to update LIBUSB_ERROR_COUNT below as well as the + message strings in strerror.c when adding new error codes here. */ + + /** Other error */ + LIBUSB_ERROR_OTHER = -99, +}; + +/* Total number of error codes in enum libusb_error */ +#define LIBUSB_ERROR_COUNT 14 + +/** \ingroup asyncio + * Transfer status codes */ +enum libusb_transfer_status { + /** Transfer completed without error. Note that this does not indicate + * that the entire amount of requested data was transferred. */ + LIBUSB_TRANSFER_COMPLETED, + + /** Transfer failed */ + LIBUSB_TRANSFER_ERROR, + + /** Transfer timed out */ + LIBUSB_TRANSFER_TIMED_OUT, + + /** Transfer was cancelled */ + LIBUSB_TRANSFER_CANCELLED, + + /** For bulk/interrupt endpoints: halt condition detected (endpoint + * stalled). For control endpoints: control request not supported. */ + LIBUSB_TRANSFER_STALL, + + /** Device was disconnected */ + LIBUSB_TRANSFER_NO_DEVICE, + + /** Device sent more data than requested */ + LIBUSB_TRANSFER_OVERFLOW, + + /* NB! Remember to update libusb_error_name() + when adding new status codes here. */ +}; + +/** \ingroup asyncio + * libusb_transfer.flags values */ +enum libusb_transfer_flags { + /** Report short frames as errors */ + LIBUSB_TRANSFER_SHORT_NOT_OK = 1<<0, + + /** Automatically free() transfer buffer during libusb_free_transfer() */ + LIBUSB_TRANSFER_FREE_BUFFER = 1<<1, + + /** Automatically call libusb_free_transfer() after callback returns. + * If this flag is set, it is illegal to call libusb_free_transfer() + * from your transfer callback, as this will result in a double-free + * when this flag is acted upon. */ + LIBUSB_TRANSFER_FREE_TRANSFER = 1<<2, + + /** Terminate transfers that are a multiple of the endpoint's + * wMaxPacketSize with an extra zero length packet. This is useful + * when a device protocol mandates that each logical request is + * terminated by an incomplete packet (i.e. the logical requests are + * not separated by other means). + * + * This flag only affects host-to-device transfers to bulk and interrupt + * endpoints. In other situations, it is ignored. + * + * This flag only affects transfers with a length that is a multiple of + * the endpoint's wMaxPacketSize. On transfers of other lengths, this + * flag has no effect. Therefore, if you are working with a device that + * needs a ZLP whenever the end of the logical request falls on a packet + * boundary, then it is sensible to set this flag on every + * transfer (you do not have to worry about only setting it on transfers + * that end on the boundary). + * + * This flag is currently only supported on Linux. + * On other systems, libusb_submit_transfer() will return + * LIBUSB_ERROR_NOT_SUPPORTED for every transfer where this flag is set. + * + * Available since libusb-1.0.9. + */ + LIBUSB_TRANSFER_ADD_ZERO_PACKET = 1 << 3, +}; + +/** \ingroup asyncio + * Isochronous packet descriptor. */ +struct libusb_iso_packet_descriptor { + /** Length of data to request in this packet */ + unsigned int length; + + /** Amount of data that was actually transferred */ + unsigned int actual_length; + + /** Status code for this packet */ + enum libusb_transfer_status status; +}; + +struct libusb_transfer; + +/** \ingroup asyncio + * Asynchronous transfer callback function type. When submitting asynchronous + * transfers, you pass a pointer to a callback function of this type via the + * \ref libusb_transfer::callback "callback" member of the libusb_transfer + * structure. libusb will call this function later, when the transfer has + * completed or failed. See \ref asyncio for more information. + * \param transfer The libusb_transfer struct the callback function is being + * notified about. + */ +typedef void (LIBUSB_CALL *libusb_transfer_cb_fn)(struct libusb_transfer *transfer); + +/** \ingroup asyncio + * The generic USB transfer structure. The user populates this structure and + * then submits it in order to request a transfer. After the transfer has + * completed, the library populates the transfer with the results and passes + * it back to the user. + */ +struct libusb_transfer { + /** Handle of the device that this transfer will be submitted to */ + libusb_device_handle *dev_handle; + + /** A bitwise OR combination of \ref libusb_transfer_flags. */ + uint8_t flags; + + /** Address of the endpoint where this transfer will be sent. */ + unsigned char endpoint; + + /** Type of the endpoint from \ref libusb_transfer_type */ + unsigned char type; + + /** Timeout for this transfer in millseconds. A value of 0 indicates no + * timeout. */ + unsigned int timeout; + + /** The status of the transfer. Read-only, and only for use within + * transfer callback function. + * + * If this is an isochronous transfer, this field may read COMPLETED even + * if there were errors in the frames. Use the + * \ref libusb_iso_packet_descriptor::status "status" field in each packet + * to determine if errors occurred. */ + enum libusb_transfer_status status; + + /** Length of the data buffer */ + int length; + + /** Actual length of data that was transferred. Read-only, and only for + * use within transfer callback function. Not valid for isochronous + * endpoint transfers. */ + int actual_length; + + /** Callback function. This will be invoked when the transfer completes, + * fails, or is cancelled. */ + libusb_transfer_cb_fn callback; + + /** User context data to pass to the callback function. */ + void *user_data; + + /** Data buffer */ + unsigned char *buffer; + + /** Number of isochronous packets. Only used for I/O with isochronous + * endpoints. */ + int num_iso_packets; + + /** Isochronous packet descriptors, for isochronous transfers only. */ + struct libusb_iso_packet_descriptor iso_packet_desc +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) + [] /* valid C99 code */ +#else + [0] /* non-standard, but usually working code */ +#endif + ; +}; + +/** \ingroup misc + * Capabilities supported by an instance of libusb on the current running + * platform. Test if the loaded library supports a given capability by calling + * \ref libusb_has_capability(). + */ +enum libusb_capability { + /** The libusb_has_capability() API is available. */ + LIBUSB_CAP_HAS_CAPABILITY = 0x0000, + /** Hotplug support is available on this platform. */ + LIBUSB_CAP_HAS_HOTPLUG = 0x0001, + /** The library can access HID devices without requiring user intervention. + * Note that before being able to actually access an HID device, you may + * still have to call additional libusb functions such as + * \ref libusb_detach_kernel_driver(). */ + LIBUSB_CAP_HAS_HID_ACCESS = 0x0100, + /** The library supports detaching of the default USB driver, using + * \ref libusb_detach_kernel_driver(), if one is set by the OS kernel */ + LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER = 0x0101 +}; + +/** \ingroup lib + * Log message levels. + * - LIBUSB_LOG_LEVEL_NONE (0) : no messages ever printed by the library (default) + * - LIBUSB_LOG_LEVEL_ERROR (1) : error messages are printed to stderr + * - LIBUSB_LOG_LEVEL_WARNING (2) : warning and error messages are printed to stderr + * - LIBUSB_LOG_LEVEL_INFO (3) : informational messages are printed to stdout, warning + * and error messages are printed to stderr + * - LIBUSB_LOG_LEVEL_DEBUG (4) : debug and informational messages are printed to stdout, + * warnings and errors to stderr + */ +enum libusb_log_level { + LIBUSB_LOG_LEVEL_NONE = 0, + LIBUSB_LOG_LEVEL_ERROR, + LIBUSB_LOG_LEVEL_WARNING, + LIBUSB_LOG_LEVEL_INFO, + LIBUSB_LOG_LEVEL_DEBUG, +}; + +int LIBUSB_CALL libusb_init(libusb_context **ctx); +void LIBUSB_CALL libusb_exit(libusb_context *ctx); +void LIBUSB_CALL libusb_set_debug(libusb_context *ctx, int level); +const struct libusb_version * LIBUSB_CALL libusb_get_version(void); +int LIBUSB_CALL libusb_has_capability(uint32_t capability); +const char * LIBUSB_CALL libusb_error_name(int errcode); +int LIBUSB_CALL libusb_setlocale(const char *locale); +const char * LIBUSB_CALL libusb_strerror(enum libusb_error errcode); + +ssize_t LIBUSB_CALL libusb_get_device_list(libusb_context *ctx, + libusb_device ***list); +void LIBUSB_CALL libusb_free_device_list(libusb_device **list, + int unref_devices); +libusb_device * LIBUSB_CALL libusb_ref_device(libusb_device *dev); +void LIBUSB_CALL libusb_unref_device(libusb_device *dev); + +int LIBUSB_CALL libusb_get_configuration(libusb_device_handle *dev, + int *config); +int LIBUSB_CALL libusb_get_device_descriptor(libusb_device *dev, + struct libusb_device_descriptor *desc); +int LIBUSB_CALL libusb_get_active_config_descriptor(libusb_device *dev, + struct libusb_config_descriptor **config); +int LIBUSB_CALL libusb_get_config_descriptor(libusb_device *dev, + uint8_t config_index, struct libusb_config_descriptor **config); +int LIBUSB_CALL libusb_get_config_descriptor_by_value(libusb_device *dev, + uint8_t bConfigurationValue, struct libusb_config_descriptor **config); +void LIBUSB_CALL libusb_free_config_descriptor( + struct libusb_config_descriptor *config); +int LIBUSB_CALL libusb_get_ss_endpoint_companion_descriptor( + struct libusb_context *ctx, + const struct libusb_endpoint_descriptor *endpoint, + struct libusb_ss_endpoint_companion_descriptor **ep_comp); +void LIBUSB_CALL libusb_free_ss_endpoint_companion_descriptor( + struct libusb_ss_endpoint_companion_descriptor *ep_comp); +int LIBUSB_CALL libusb_get_bos_descriptor(libusb_device_handle *handle, + struct libusb_bos_descriptor **bos); +void LIBUSB_CALL libusb_free_bos_descriptor(struct libusb_bos_descriptor *bos); +int LIBUSB_CALL libusb_get_usb_2_0_extension_descriptor( + struct libusb_context *ctx, + struct libusb_bos_dev_capability_descriptor *dev_cap, + struct libusb_usb_2_0_extension_descriptor **usb_2_0_extension); +void LIBUSB_CALL libusb_free_usb_2_0_extension_descriptor( + struct libusb_usb_2_0_extension_descriptor *usb_2_0_extension); +int LIBUSB_CALL libusb_get_ss_usb_device_capability_descriptor( + struct libusb_context *ctx, + struct libusb_bos_dev_capability_descriptor *dev_cap, + struct libusb_ss_usb_device_capability_descriptor **ss_usb_device_cap); +void LIBUSB_CALL libusb_free_ss_usb_device_capability_descriptor( + struct libusb_ss_usb_device_capability_descriptor *ss_usb_device_cap); +int LIBUSB_CALL libusb_get_container_id_descriptor(struct libusb_context *ctx, + struct libusb_bos_dev_capability_descriptor *dev_cap, + struct libusb_container_id_descriptor **container_id); +void LIBUSB_CALL libusb_free_container_id_descriptor( + struct libusb_container_id_descriptor *container_id); +uint8_t LIBUSB_CALL libusb_get_bus_number(libusb_device *dev); +uint8_t LIBUSB_CALL libusb_get_port_number(libusb_device *dev); +int LIBUSB_CALL libusb_get_port_numbers(libusb_device *dev, uint8_t* port_numbers, int port_numbers_len); +LIBUSB_DEPRECATED_FOR(libusb_get_port_numbers) +int LIBUSB_CALL libusb_get_port_path(libusb_context *ctx, libusb_device *dev, uint8_t* path, uint8_t path_length); +libusb_device * LIBUSB_CALL libusb_get_parent(libusb_device *dev); +uint8_t LIBUSB_CALL libusb_get_device_address(libusb_device *dev); +int LIBUSB_CALL libusb_get_device_speed(libusb_device *dev); +int LIBUSB_CALL libusb_get_max_packet_size(libusb_device *dev, + unsigned char endpoint); +int LIBUSB_CALL libusb_get_max_iso_packet_size(libusb_device *dev, + unsigned char endpoint); + +int LIBUSB_CALL libusb_open(libusb_device *dev, libusb_device_handle **handle); +void LIBUSB_CALL libusb_close(libusb_device_handle *dev_handle); +libusb_device * LIBUSB_CALL libusb_get_device(libusb_device_handle *dev_handle); + +int LIBUSB_CALL libusb_set_configuration(libusb_device_handle *dev, + int configuration); +int LIBUSB_CALL libusb_claim_interface(libusb_device_handle *dev, + int interface_number); +int LIBUSB_CALL libusb_release_interface(libusb_device_handle *dev, + int interface_number); + +libusb_device_handle * LIBUSB_CALL libusb_open_device_with_vid_pid( + libusb_context *ctx, uint16_t vendor_id, uint16_t product_id); + +int LIBUSB_CALL libusb_set_interface_alt_setting(libusb_device_handle *dev, + int interface_number, int alternate_setting); +int LIBUSB_CALL libusb_clear_halt(libusb_device_handle *dev, + unsigned char endpoint); +int LIBUSB_CALL libusb_reset_device(libusb_device_handle *dev); + +int LIBUSB_CALL libusb_alloc_streams(libusb_device_handle *dev, + uint32_t num_streams, unsigned char *endpoints, int num_endpoints); +int LIBUSB_CALL libusb_free_streams(libusb_device_handle *dev, + unsigned char *endpoints, int num_endpoints); + +int LIBUSB_CALL libusb_kernel_driver_active(libusb_device_handle *dev, + int interface_number); +int LIBUSB_CALL libusb_detach_kernel_driver(libusb_device_handle *dev, + int interface_number); +int LIBUSB_CALL libusb_attach_kernel_driver(libusb_device_handle *dev, + int interface_number); +int LIBUSB_CALL libusb_set_auto_detach_kernel_driver( + libusb_device_handle *dev, int enable); + +/* async I/O */ + +/** \ingroup asyncio + * Get the data section of a control transfer. This convenience function is here + * to remind you that the data does not start until 8 bytes into the actual + * buffer, as the setup packet comes first. + * + * Calling this function only makes sense from a transfer callback function, + * or situations where you have already allocated a suitably sized buffer at + * transfer->buffer. + * + * \param transfer a transfer + * \returns pointer to the first byte of the data section + */ +static inline unsigned char *libusb_control_transfer_get_data( + struct libusb_transfer *transfer) +{ + return transfer->buffer + LIBUSB_CONTROL_SETUP_SIZE; +} + +/** \ingroup asyncio + * Get the control setup packet of a control transfer. This convenience + * function is here to remind you that the control setup occupies the first + * 8 bytes of the transfer data buffer. + * + * Calling this function only makes sense from a transfer callback function, + * or situations where you have already allocated a suitably sized buffer at + * transfer->buffer. + * + * \param transfer a transfer + * \returns a casted pointer to the start of the transfer data buffer + */ +static inline struct libusb_control_setup *libusb_control_transfer_get_setup( + struct libusb_transfer *transfer) +{ + return (struct libusb_control_setup *)(void *) transfer->buffer; +} + +/** \ingroup asyncio + * Helper function to populate the setup packet (first 8 bytes of the data + * buffer) for a control transfer. The wIndex, wValue and wLength values should + * be given in host-endian byte order. + * + * \param buffer buffer to output the setup packet into + * This pointer must be aligned to at least 2 bytes boundary. + * \param bmRequestType see the + * \ref libusb_control_setup::bmRequestType "bmRequestType" field of + * \ref libusb_control_setup + * \param bRequest see the + * \ref libusb_control_setup::bRequest "bRequest" field of + * \ref libusb_control_setup + * \param wValue see the + * \ref libusb_control_setup::wValue "wValue" field of + * \ref libusb_control_setup + * \param wIndex see the + * \ref libusb_control_setup::wIndex "wIndex" field of + * \ref libusb_control_setup + * \param wLength see the + * \ref libusb_control_setup::wLength "wLength" field of + * \ref libusb_control_setup + */ +static inline void libusb_fill_control_setup(unsigned char *buffer, + uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, + uint16_t wLength) +{ + struct libusb_control_setup *setup = (struct libusb_control_setup *)(void *) buffer; + setup->bmRequestType = bmRequestType; + setup->bRequest = bRequest; + setup->wValue = libusb_cpu_to_le16(wValue); + setup->wIndex = libusb_cpu_to_le16(wIndex); + setup->wLength = libusb_cpu_to_le16(wLength); +} + +struct libusb_transfer * LIBUSB_CALL libusb_alloc_transfer(int iso_packets); +int LIBUSB_CALL libusb_submit_transfer(struct libusb_transfer *transfer); +int LIBUSB_CALL libusb_cancel_transfer(struct libusb_transfer *transfer); +void LIBUSB_CALL libusb_free_transfer(struct libusb_transfer *transfer); +void LIBUSB_CALL libusb_transfer_set_stream_id( + struct libusb_transfer *transfer, uint32_t stream_id); +uint32_t LIBUSB_CALL libusb_transfer_get_stream_id( + struct libusb_transfer *transfer); + +/** \ingroup asyncio + * Helper function to populate the required \ref libusb_transfer fields + * for a control transfer. + * + * If you pass a transfer buffer to this function, the first 8 bytes will + * be interpreted as a control setup packet, and the wLength field will be + * used to automatically populate the \ref libusb_transfer::length "length" + * field of the transfer. Therefore the recommended approach is: + * -# Allocate a suitably sized data buffer (including space for control setup) + * -# Call libusb_fill_control_setup() + * -# If this is a host-to-device transfer with a data stage, put the data + * in place after the setup packet + * -# Call this function + * -# Call libusb_submit_transfer() + * + * It is also legal to pass a NULL buffer to this function, in which case this + * function will not attempt to populate the length field. Remember that you + * must then populate the buffer and length fields later. + * + * \param transfer the transfer to populate + * \param dev_handle handle of the device that will handle the transfer + * \param buffer data buffer. If provided, this function will interpret the + * first 8 bytes as a setup packet and infer the transfer length from that. + * This pointer must be aligned to at least 2 bytes boundary. + * \param callback callback function to be invoked on transfer completion + * \param user_data user data to pass to callback function + * \param timeout timeout for the transfer in milliseconds + */ +static inline void libusb_fill_control_transfer( + struct libusb_transfer *transfer, libusb_device_handle *dev_handle, + unsigned char *buffer, libusb_transfer_cb_fn callback, void *user_data, + unsigned int timeout) +{ + struct libusb_control_setup *setup = (struct libusb_control_setup *)(void *) buffer; + transfer->dev_handle = dev_handle; + transfer->endpoint = 0; + transfer->type = LIBUSB_TRANSFER_TYPE_CONTROL; + transfer->timeout = timeout; + transfer->buffer = buffer; + if (setup) + transfer->length = (int) (LIBUSB_CONTROL_SETUP_SIZE + + libusb_le16_to_cpu(setup->wLength)); + transfer->user_data = user_data; + transfer->callback = callback; +} + +/** \ingroup asyncio + * Helper function to populate the required \ref libusb_transfer fields + * for a bulk transfer. + * + * \param transfer the transfer to populate + * \param dev_handle handle of the device that will handle the transfer + * \param endpoint address of the endpoint where this transfer will be sent + * \param buffer data buffer + * \param length length of data buffer + * \param callback callback function to be invoked on transfer completion + * \param user_data user data to pass to callback function + * \param timeout timeout for the transfer in milliseconds + */ +static inline void libusb_fill_bulk_transfer(struct libusb_transfer *transfer, + libusb_device_handle *dev_handle, unsigned char endpoint, + unsigned char *buffer, int length, libusb_transfer_cb_fn callback, + void *user_data, unsigned int timeout) +{ + transfer->dev_handle = dev_handle; + transfer->endpoint = endpoint; + transfer->type = LIBUSB_TRANSFER_TYPE_BULK; + transfer->timeout = timeout; + transfer->buffer = buffer; + transfer->length = length; + transfer->user_data = user_data; + transfer->callback = callback; +} + +/** \ingroup asyncio + * Helper function to populate the required \ref libusb_transfer fields + * for a bulk transfer using bulk streams. + * + * Since version 1.0.19, \ref LIBUSB_API_VERSION >= 0x01000103 + * + * \param transfer the transfer to populate + * \param dev_handle handle of the device that will handle the transfer + * \param endpoint address of the endpoint where this transfer will be sent + * \param stream_id bulk stream id for this transfer + * \param buffer data buffer + * \param length length of data buffer + * \param callback callback function to be invoked on transfer completion + * \param user_data user data to pass to callback function + * \param timeout timeout for the transfer in milliseconds + */ +static inline void libusb_fill_bulk_stream_transfer( + struct libusb_transfer *transfer, libusb_device_handle *dev_handle, + unsigned char endpoint, uint32_t stream_id, + unsigned char *buffer, int length, libusb_transfer_cb_fn callback, + void *user_data, unsigned int timeout) +{ + libusb_fill_bulk_transfer(transfer, dev_handle, endpoint, buffer, + length, callback, user_data, timeout); + transfer->type = LIBUSB_TRANSFER_TYPE_BULK_STREAM; + libusb_transfer_set_stream_id(transfer, stream_id); +} + +/** \ingroup asyncio + * Helper function to populate the required \ref libusb_transfer fields + * for an interrupt transfer. + * + * \param transfer the transfer to populate + * \param dev_handle handle of the device that will handle the transfer + * \param endpoint address of the endpoint where this transfer will be sent + * \param buffer data buffer + * \param length length of data buffer + * \param callback callback function to be invoked on transfer completion + * \param user_data user data to pass to callback function + * \param timeout timeout for the transfer in milliseconds + */ +static inline void libusb_fill_interrupt_transfer( + struct libusb_transfer *transfer, libusb_device_handle *dev_handle, + unsigned char endpoint, unsigned char *buffer, int length, + libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout) +{ + transfer->dev_handle = dev_handle; + transfer->endpoint = endpoint; + transfer->type = LIBUSB_TRANSFER_TYPE_INTERRUPT; + transfer->timeout = timeout; + transfer->buffer = buffer; + transfer->length = length; + transfer->user_data = user_data; + transfer->callback = callback; +} + +/** \ingroup asyncio + * Helper function to populate the required \ref libusb_transfer fields + * for an isochronous transfer. + * + * \param transfer the transfer to populate + * \param dev_handle handle of the device that will handle the transfer + * \param endpoint address of the endpoint where this transfer will be sent + * \param buffer data buffer + * \param length length of data buffer + * \param num_iso_packets the number of isochronous packets + * \param callback callback function to be invoked on transfer completion + * \param user_data user data to pass to callback function + * \param timeout timeout for the transfer in milliseconds + */ +static inline void libusb_fill_iso_transfer(struct libusb_transfer *transfer, + libusb_device_handle *dev_handle, unsigned char endpoint, + unsigned char *buffer, int length, int num_iso_packets, + libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout) +{ + transfer->dev_handle = dev_handle; + transfer->endpoint = endpoint; + transfer->type = LIBUSB_TRANSFER_TYPE_ISOCHRONOUS; + transfer->timeout = timeout; + transfer->buffer = buffer; + transfer->length = length; + transfer->num_iso_packets = num_iso_packets; + transfer->user_data = user_data; + transfer->callback = callback; +} + +/** \ingroup asyncio + * Convenience function to set the length of all packets in an isochronous + * transfer, based on the num_iso_packets field in the transfer structure. + * + * \param transfer a transfer + * \param length the length to set in each isochronous packet descriptor + * \see libusb_get_max_packet_size() + */ +static inline void libusb_set_iso_packet_lengths( + struct libusb_transfer *transfer, unsigned int length) +{ + int i; + for (i = 0; i < transfer->num_iso_packets; i++) + transfer->iso_packet_desc[i].length = length; +} + +/** \ingroup asyncio + * Convenience function to locate the position of an isochronous packet + * within the buffer of an isochronous transfer. + * + * This is a thorough function which loops through all preceding packets, + * accumulating their lengths to find the position of the specified packet. + * Typically you will assign equal lengths to each packet in the transfer, + * and hence the above method is sub-optimal. You may wish to use + * libusb_get_iso_packet_buffer_simple() instead. + * + * \param transfer a transfer + * \param packet the packet to return the address of + * \returns the base address of the packet buffer inside the transfer buffer, + * or NULL if the packet does not exist. + * \see libusb_get_iso_packet_buffer_simple() + */ +static inline unsigned char *libusb_get_iso_packet_buffer( + struct libusb_transfer *transfer, unsigned int packet) +{ + int i; + size_t offset = 0; + int _packet; + + /* oops..slight bug in the API. packet is an unsigned int, but we use + * signed integers almost everywhere else. range-check and convert to + * signed to avoid compiler warnings. FIXME for libusb-2. */ + if (packet > INT_MAX) + return NULL; + _packet = (int) packet; + + if (_packet >= transfer->num_iso_packets) + return NULL; + + for (i = 0; i < _packet; i++) + offset += transfer->iso_packet_desc[i].length; + + return transfer->buffer + offset; +} + +/** \ingroup asyncio + * Convenience function to locate the position of an isochronous packet + * within the buffer of an isochronous transfer, for transfers where each + * packet is of identical size. + * + * This function relies on the assumption that every packet within the transfer + * is of identical size to the first packet. Calculating the location of + * the packet buffer is then just a simple calculation: + * buffer + (packet_size * packet) + * + * Do not use this function on transfers other than those that have identical + * packet lengths for each packet. + * + * \param transfer a transfer + * \param packet the packet to return the address of + * \returns the base address of the packet buffer inside the transfer buffer, + * or NULL if the packet does not exist. + * \see libusb_get_iso_packet_buffer() + */ +static inline unsigned char *libusb_get_iso_packet_buffer_simple( + struct libusb_transfer *transfer, unsigned int packet) +{ + int _packet; + + /* oops..slight bug in the API. packet is an unsigned int, but we use + * signed integers almost everywhere else. range-check and convert to + * signed to avoid compiler warnings. FIXME for libusb-2. */ + if (packet > INT_MAX) + return NULL; + _packet = (int) packet; + + if (_packet >= transfer->num_iso_packets) + return NULL; + + return transfer->buffer + ((int) transfer->iso_packet_desc[0].length * _packet); +} + +/* sync I/O */ + +int LIBUSB_CALL libusb_control_transfer(libusb_device_handle *dev_handle, + uint8_t request_type, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, + unsigned char *data, uint16_t wLength, unsigned int timeout); + +int LIBUSB_CALL libusb_bulk_transfer(libusb_device_handle *dev_handle, + unsigned char endpoint, unsigned char *data, int length, + int *actual_length, unsigned int timeout); + +int LIBUSB_CALL libusb_interrupt_transfer(libusb_device_handle *dev_handle, + unsigned char endpoint, unsigned char *data, int length, + int *actual_length, unsigned int timeout); + +/** \ingroup desc + * Retrieve a descriptor from the default control pipe. + * This is a convenience function which formulates the appropriate control + * message to retrieve the descriptor. + * + * \param dev a device handle + * \param desc_type the descriptor type, see \ref libusb_descriptor_type + * \param desc_index the index of the descriptor to retrieve + * \param data output buffer for descriptor + * \param length size of data buffer + * \returns number of bytes returned in data, or LIBUSB_ERROR code on failure + */ +static inline int libusb_get_descriptor(libusb_device_handle *dev, + uint8_t desc_type, uint8_t desc_index, unsigned char *data, int length) +{ + return libusb_control_transfer(dev, LIBUSB_ENDPOINT_IN, + LIBUSB_REQUEST_GET_DESCRIPTOR, (uint16_t) ((desc_type << 8) | desc_index), + 0, data, (uint16_t) length, 1000); +} + +/** \ingroup desc + * Retrieve a descriptor from a device. + * This is a convenience function which formulates the appropriate control + * message to retrieve the descriptor. The string returned is Unicode, as + * detailed in the USB specifications. + * + * \param dev a device handle + * \param desc_index the index of the descriptor to retrieve + * \param langid the language ID for the string descriptor + * \param data output buffer for descriptor + * \param length size of data buffer + * \returns number of bytes returned in data, or LIBUSB_ERROR code on failure + * \see libusb_get_string_descriptor_ascii() + */ +static inline int libusb_get_string_descriptor(libusb_device_handle *dev, + uint8_t desc_index, uint16_t langid, unsigned char *data, int length) +{ + return libusb_control_transfer(dev, LIBUSB_ENDPOINT_IN, + LIBUSB_REQUEST_GET_DESCRIPTOR, (uint16_t)((LIBUSB_DT_STRING << 8) | desc_index), + langid, data, (uint16_t) length, 1000); +} + +int LIBUSB_CALL libusb_get_string_descriptor_ascii(libusb_device_handle *dev, + uint8_t desc_index, unsigned char *data, int length); + +/* polling and timeouts */ + +int LIBUSB_CALL libusb_try_lock_events(libusb_context *ctx); +void LIBUSB_CALL libusb_lock_events(libusb_context *ctx); +void LIBUSB_CALL libusb_unlock_events(libusb_context *ctx); +int LIBUSB_CALL libusb_event_handling_ok(libusb_context *ctx); +int LIBUSB_CALL libusb_event_handler_active(libusb_context *ctx); +void LIBUSB_CALL libusb_lock_event_waiters(libusb_context *ctx); +void LIBUSB_CALL libusb_unlock_event_waiters(libusb_context *ctx); +int LIBUSB_CALL libusb_wait_for_event(libusb_context *ctx, struct timeval *tv); + +int LIBUSB_CALL libusb_handle_events_timeout(libusb_context *ctx, + struct timeval *tv); +int LIBUSB_CALL libusb_handle_events_timeout_completed(libusb_context *ctx, + struct timeval *tv, int *completed); +int LIBUSB_CALL libusb_handle_events(libusb_context *ctx); +int LIBUSB_CALL libusb_handle_events_completed(libusb_context *ctx, int *completed); +int LIBUSB_CALL libusb_handle_events_locked(libusb_context *ctx, + struct timeval *tv); +int LIBUSB_CALL libusb_pollfds_handle_timeouts(libusb_context *ctx); +int LIBUSB_CALL libusb_get_next_timeout(libusb_context *ctx, + struct timeval *tv); + +/** \ingroup poll + * File descriptor for polling + */ +struct libusb_pollfd { + /** Numeric file descriptor */ + int fd; + + /** Event flags to poll for from . POLLIN indicates that you + * should monitor this file descriptor for becoming ready to read from, + * and POLLOUT indicates that you should monitor this file descriptor for + * nonblocking write readiness. */ + short events; +}; + +/** \ingroup poll + * Callback function, invoked when a new file descriptor should be added + * to the set of file descriptors monitored for events. + * \param fd the new file descriptor + * \param events events to monitor for, see \ref libusb_pollfd for a + * description + * \param user_data User data pointer specified in + * libusb_set_pollfd_notifiers() call + * \see libusb_set_pollfd_notifiers() + */ +typedef void (LIBUSB_CALL *libusb_pollfd_added_cb)(int fd, short events, + void *user_data); + +/** \ingroup poll + * Callback function, invoked when a file descriptor should be removed from + * the set of file descriptors being monitored for events. After returning + * from this callback, do not use that file descriptor again. + * \param fd the file descriptor to stop monitoring + * \param user_data User data pointer specified in + * libusb_set_pollfd_notifiers() call + * \see libusb_set_pollfd_notifiers() + */ +typedef void (LIBUSB_CALL *libusb_pollfd_removed_cb)(int fd, void *user_data); + +const struct libusb_pollfd ** LIBUSB_CALL libusb_get_pollfds( + libusb_context *ctx); +void LIBUSB_CALL libusb_free_pollfds(const struct libusb_pollfd **pollfds); +void LIBUSB_CALL libusb_set_pollfd_notifiers(libusb_context *ctx, + libusb_pollfd_added_cb added_cb, libusb_pollfd_removed_cb removed_cb, + void *user_data); + +/** \ingroup hotplug + * Callback handle. + * + * Callbacks handles are generated by libusb_hotplug_register_callback() + * and can be used to deregister callbacks. Callback handles are unique + * per libusb_context and it is safe to call libusb_hotplug_deregister_callback() + * on an already deregisted callback. + * + * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 + * + * For more information, see \ref hotplug. + */ +typedef int libusb_hotplug_callback_handle; + +/** \ingroup hotplug + * + * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 + * + * Flags for hotplug events */ +typedef enum { + /** Default value when not using any flags. */ + LIBUSB_HOTPLUG_NO_FLAGS = 0, + + /** Arm the callback and fire it for all matching currently attached devices. */ + LIBUSB_HOTPLUG_ENUMERATE = 1<<0, +} libusb_hotplug_flag; + +/** \ingroup hotplug + * + * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 + * + * Hotplug events */ +typedef enum { + /** A device has been plugged in and is ready to use */ + LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED = 0x01, + + /** A device has left and is no longer available. + * It is the user's responsibility to call libusb_close on any handle associated with a disconnected device. + * It is safe to call libusb_get_device_descriptor on a device that has left */ + LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT = 0x02, +} libusb_hotplug_event; + +/** \ingroup hotplug + * Wildcard matching for hotplug events */ +#define LIBUSB_HOTPLUG_MATCH_ANY -1 + +/** \ingroup hotplug + * Hotplug callback function type. When requesting hotplug event notifications, + * you pass a pointer to a callback function of this type. + * + * This callback may be called by an internal event thread and as such it is + * recommended the callback do minimal processing before returning. + * + * libusb will call this function later, when a matching event had happened on + * a matching device. See \ref hotplug for more information. + * + * It is safe to call either libusb_hotplug_register_callback() or + * libusb_hotplug_deregister_callback() from within a callback function. + * + * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 + * + * \param ctx context of this notification + * \param device libusb_device this event occurred on + * \param event event that occurred + * \param user_data user data provided when this callback was registered + * \returns bool whether this callback is finished processing events. + * returning 1 will cause this callback to be deregistered + */ +typedef int (LIBUSB_CALL *libusb_hotplug_callback_fn)(libusb_context *ctx, + libusb_device *device, + libusb_hotplug_event event, + void *user_data); + +/** \ingroup hotplug + * Register a hotplug callback function + * + * Register a callback with the libusb_context. The callback will fire + * when a matching event occurs on a matching device. The callback is + * armed until either it is deregistered with libusb_hotplug_deregister_callback() + * or the supplied callback returns 1 to indicate it is finished processing events. + * + * If the \ref LIBUSB_HOTPLUG_ENUMERATE is passed the callback will be + * called with a \ref LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED for all devices + * already plugged into the machine. Note that libusb modifies its internal + * device list from a separate thread, while calling hotplug callbacks from + * libusb_handle_events(), so it is possible for a device to already be present + * on, or removed from, its internal device list, while the hotplug callbacks + * still need to be dispatched. This means that when using \ref + * LIBUSB_HOTPLUG_ENUMERATE, your callback may be called twice for the arrival + * of the same device, once from libusb_hotplug_register_callback() and once + * from libusb_handle_events(); and/or your callback may be called for the + * removal of a device for which an arrived call was never made. + * + * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 + * + * \param[in] ctx context to register this callback with + * \param[in] events bitwise or of events that will trigger this callback. See \ref + * libusb_hotplug_event + * \param[in] flags hotplug callback flags. See \ref libusb_hotplug_flag + * \param[in] vendor_id the vendor id to match or \ref LIBUSB_HOTPLUG_MATCH_ANY + * \param[in] product_id the product id to match or \ref LIBUSB_HOTPLUG_MATCH_ANY + * \param[in] dev_class the device class to match or \ref LIBUSB_HOTPLUG_MATCH_ANY + * \param[in] cb_fn the function to be invoked on a matching event/device + * \param[in] user_data user data to pass to the callback function + * \param[out] handle pointer to store the handle of the allocated callback (can be NULL) + * \returns LIBUSB_SUCCESS on success LIBUSB_ERROR code on failure + */ +int LIBUSB_CALL libusb_hotplug_register_callback(libusb_context *ctx, + libusb_hotplug_event events, + libusb_hotplug_flag flags, + int vendor_id, int product_id, + int dev_class, + libusb_hotplug_callback_fn cb_fn, + void *user_data, + libusb_hotplug_callback_handle *handle); + +/** \ingroup hotplug + * Deregisters a hotplug callback. + * + * Deregister a callback from a libusb_context. This function is safe to call from within + * a hotplug callback. + * + * Since version 1.0.16, \ref LIBUSB_API_VERSION >= 0x01000102 + * + * \param[in] ctx context this callback is registered with + * \param[in] handle the handle of the callback to deregister + */ +void LIBUSB_CALL libusb_hotplug_deregister_callback(libusb_context *ctx, + libusb_hotplug_callback_handle handle); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/host/libusb-1.0.dll b/host/libusb-1.0.dll new file mode 100644 index 0000000000000000000000000000000000000000..a2e99dd874e0ad1247f906b00d39d16e8093bf04 GIT binary patch literal 252580 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
{ChcJ*)FAadeF-&=R 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 literal 0 HcmV?d00001 diff --git a/host/winlib/libusb-1.0.dll.a b/host/winlib/libusb-1.0.dll.a new file mode 100644 index 0000000000000000000000000000000000000000..5131b51fe5fb122be9ad5d3443e7e9999bd398ae GIT binary patch literal 133836 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 literal 0 HcmV?d00001