libusb.h | libusb.h | |||
---|---|---|---|---|
skipping to change at line 99 | skipping to change at line 99 | |||
/** Mass storage class */ | /** Mass storage class */ | |||
LIBUSB_CLASS_MASS_STORAGE = 8, | LIBUSB_CLASS_MASS_STORAGE = 8, | |||
/** Hub class */ | /** Hub class */ | |||
LIBUSB_CLASS_HUB = 9, | LIBUSB_CLASS_HUB = 9, | |||
/** Data class */ | /** Data class */ | |||
LIBUSB_CLASS_DATA = 10, | LIBUSB_CLASS_DATA = 10, | |||
/** Class is vendor-specific */ | /** Class is vendor-specific */ | |||
LIBUSB_CLASS_VENDOR_SPEC = 0xff, | LIBUSB_CLASS_VENDOR_SPEC = 0xff | |||
}; | }; | |||
/** \ingroup desc | /** \ingroup desc | |||
* Descriptor types as defined by the USB specification. */ | * Descriptor types as defined by the USB specification. */ | |||
enum libusb_descriptor_type { | enum libusb_descriptor_type { | |||
/** Device descriptor. See libusb_device_descriptor. */ | /** Device descriptor. See libusb_device_descriptor. */ | |||
LIBUSB_DT_DEVICE = 0x01, | LIBUSB_DT_DEVICE = 0x01, | |||
/** Configuration descriptor. See libusb_config_descriptor. */ | /** Configuration descriptor. See libusb_config_descriptor. */ | |||
LIBUSB_DT_CONFIG = 0x02, | LIBUSB_DT_CONFIG = 0x02, | |||
skipping to change at line 130 | skipping to change at line 130 | |||
/** HID descriptor */ | /** HID descriptor */ | |||
LIBUSB_DT_HID = 0x21, | LIBUSB_DT_HID = 0x21, | |||
/** HID report descriptor */ | /** HID report descriptor */ | |||
LIBUSB_DT_REPORT = 0x22, | LIBUSB_DT_REPORT = 0x22, | |||
/** Physical descriptor */ | /** Physical descriptor */ | |||
LIBUSB_DT_PHYSICAL = 0x23, | LIBUSB_DT_PHYSICAL = 0x23, | |||
/** Hub descriptor */ | /** Hub descriptor */ | |||
LIBUSB_DT_HUB = 0x29, | LIBUSB_DT_HUB = 0x29 | |||
}; | }; | |||
/* Descriptor sizes per descriptor type */ | /* Descriptor sizes per descriptor type */ | |||
#define LIBUSB_DT_DEVICE_SIZE 18 | #define LIBUSB_DT_DEVICE_SIZE 18 | |||
#define LIBUSB_DT_CONFIG_SIZE 9 | #define LIBUSB_DT_CONFIG_SIZE 9 | |||
#define LIBUSB_DT_INTERFACE_SIZE 9 | #define LIBUSB_DT_INTERFACE_SIZE 9 | |||
#define LIBUSB_DT_ENDPOINT_SIZE 7 | #define LIBUSB_DT_ENDPOINT_SIZE 7 | |||
#define LIBUSB_DT_ENDPOINT_AUDIO_SIZE 9 /* Audio extension */ | #define LIBUSB_DT_ENDPOINT_AUDIO_SIZE 9 /* Audio extension */ | |||
#define LIBUSB_DT_HUB_NONVAR_SIZE 7 | #define LIBUSB_DT_HUB_NONVAR_SIZE 7 | |||
skipping to change at line 153 | skipping to change at line 153 | |||
/** \ingroup desc | /** \ingroup desc | |||
* Endpoint direction. Values for bit 7 of the | * Endpoint direction. Values for bit 7 of the | |||
* \ref libusb_endpoint_descriptor::bEndpointAddress "endpoint address" sch eme. | * \ref libusb_endpoint_descriptor::bEndpointAddress "endpoint address" sch eme. | |||
*/ | */ | |||
enum libusb_endpoint_direction { | enum libusb_endpoint_direction { | |||
/** In: device-to-host */ | /** In: device-to-host */ | |||
LIBUSB_ENDPOINT_IN = 0x80, | LIBUSB_ENDPOINT_IN = 0x80, | |||
/** Out: host-to-device */ | /** Out: host-to-device */ | |||
LIBUSB_ENDPOINT_OUT = 0x00, | LIBUSB_ENDPOINT_OUT = 0x00 | |||
}; | }; | |||
#define LIBUSB_TRANSFER_TYPE_MASK 0x03 /* in bmAttr ibutes */ | #define LIBUSB_TRANSFER_TYPE_MASK 0x03 /* in bmAttr ibutes */ | |||
/** \ingroup desc | /** \ingroup desc | |||
* Endpoint transfer type. Values for bits 0:1 of the | * Endpoint transfer type. Values for bits 0:1 of the | |||
* \ref libusb_endpoint_descriptor::bmAttributes "endpoint attributes" fiel d. | * \ref libusb_endpoint_descriptor::bmAttributes "endpoint attributes" fiel d. | |||
*/ | */ | |||
enum libusb_transfer_type { | enum libusb_transfer_type { | |||
/** Control endpoint */ | /** Control endpoint */ | |||
LIBUSB_TRANSFER_TYPE_CONTROL = 0, | LIBUSB_TRANSFER_TYPE_CONTROL = 0, | |||
/** Isochronous endpoint */ | /** Isochronous endpoint */ | |||
LIBUSB_TRANSFER_TYPE_ISOCHRONOUS = 1, | LIBUSB_TRANSFER_TYPE_ISOCHRONOUS = 1, | |||
/** Bulk endpoint */ | /** Bulk endpoint */ | |||
LIBUSB_TRANSFER_TYPE_BULK = 2, | LIBUSB_TRANSFER_TYPE_BULK = 2, | |||
/** Interrupt endpoint */ | /** Interrupt endpoint */ | |||
LIBUSB_TRANSFER_TYPE_INTERRUPT = 3, | LIBUSB_TRANSFER_TYPE_INTERRUPT = 3 | |||
}; | }; | |||
/** \ingroup misc | /** \ingroup misc | |||
* Standard requests, as defined in table 9-3 of the USB2 specifications */ | * Standard requests, as defined in table 9-3 of the USB2 specifications */ | |||
enum libusb_standard_request { | enum libusb_standard_request { | |||
/** Request status of the specific recipient */ | /** Request status of the specific recipient */ | |||
LIBUSB_REQUEST_GET_STATUS = 0x00, | LIBUSB_REQUEST_GET_STATUS = 0x00, | |||
/** Clear or disable a specific feature */ | /** Clear or disable a specific feature */ | |||
LIBUSB_REQUEST_CLEAR_FEATURE = 0x01, | LIBUSB_REQUEST_CLEAR_FEATURE = 0x01, | |||
skipping to change at line 214 | skipping to change at line 214 | |||
/** Set device configuration */ | /** Set device configuration */ | |||
LIBUSB_REQUEST_SET_CONFIGURATION = 0x09, | LIBUSB_REQUEST_SET_CONFIGURATION = 0x09, | |||
/** Return the selected alternate setting for the specified interfac e */ | /** Return the selected alternate setting for the specified interfac e */ | |||
LIBUSB_REQUEST_GET_INTERFACE = 0x0A, | LIBUSB_REQUEST_GET_INTERFACE = 0x0A, | |||
/** Select an alternate interface for the specified interface */ | /** Select an alternate interface for the specified interface */ | |||
LIBUSB_REQUEST_SET_INTERFACE = 0x0B, | LIBUSB_REQUEST_SET_INTERFACE = 0x0B, | |||
/** Set then report an endpoint's synchronization frame */ | /** Set then report an endpoint's synchronization frame */ | |||
LIBUSB_REQUEST_SYNCH_FRAME = 0x0C, | LIBUSB_REQUEST_SYNCH_FRAME = 0x0C | |||
}; | }; | |||
/** \ingroup misc | /** \ingroup misc | |||
* Request type bits of the | * Request type bits of the | |||
* \ref libusb_control_setup::bmRequestType "bmRequestType" field in contro l | * \ref libusb_control_setup::bmRequestType "bmRequestType" field in contro l | |||
* transfers. */ | * transfers. */ | |||
enum libusb_request_type { | enum libusb_request_type { | |||
/** Standard */ | /** Standard */ | |||
LIBUSB_REQUEST_TYPE_STANDARD = (0x00 << 5), | LIBUSB_REQUEST_TYPE_STANDARD = (0x00 << 5), | |||
/** Class */ | /** Class */ | |||
LIBUSB_REQUEST_TYPE_CLASS = (0x01 << 5), | LIBUSB_REQUEST_TYPE_CLASS = (0x01 << 5), | |||
/** Vendor */ | /** Vendor */ | |||
LIBUSB_REQUEST_TYPE_VENDOR = (0x02 << 5), | LIBUSB_REQUEST_TYPE_VENDOR = (0x02 << 5), | |||
/** Reserved */ | /** Reserved */ | |||
LIBUSB_REQUEST_TYPE_RESERVED = (0x03 << 5), | LIBUSB_REQUEST_TYPE_RESERVED = (0x03 << 5) | |||
}; | }; | |||
/** \ingroup misc | /** \ingroup misc | |||
* Recipient bits of the | * Recipient bits of the | |||
* \ref libusb_control_setup::bmRequestType "bmRequestType" field in contro l | * \ref libusb_control_setup::bmRequestType "bmRequestType" field in contro l | |||
* transfers. Values 4 through 31 are reserved. */ | * transfers. Values 4 through 31 are reserved. */ | |||
enum libusb_request_recipient { | enum libusb_request_recipient { | |||
/** Device */ | /** Device */ | |||
LIBUSB_RECIPIENT_DEVICE = 0x00, | LIBUSB_RECIPIENT_DEVICE = 0x00, | |||
/** Interface */ | /** Interface */ | |||
LIBUSB_RECIPIENT_INTERFACE = 0x01, | LIBUSB_RECIPIENT_INTERFACE = 0x01, | |||
/** Endpoint */ | /** Endpoint */ | |||
LIBUSB_RECIPIENT_ENDPOINT = 0x02, | LIBUSB_RECIPIENT_ENDPOINT = 0x02, | |||
/** Other */ | /** Other */ | |||
LIBUSB_RECIPIENT_OTHER = 0x03, | LIBUSB_RECIPIENT_OTHER = 0x03 | |||
}; | }; | |||
#define LIBUSB_ISO_SYNC_TYPE_MASK 0x0C | #define LIBUSB_ISO_SYNC_TYPE_MASK 0x0C | |||
/** \ingroup desc | /** \ingroup desc | |||
* Synchronization type for isochronous endpoints. Values for bits 2:3 of t he | * Synchronization type for isochronous endpoints. Values for bits 2:3 of t he | |||
* \ref libusb_endpoint_descriptor::bmAttributes "bmAttributes" field in | * \ref libusb_endpoint_descriptor::bmAttributes "bmAttributes" field in | |||
* libusb_endpoint_descriptor. | * libusb_endpoint_descriptor. | |||
*/ | */ | |||
enum libusb_iso_sync_type { | enum libusb_iso_sync_type { | |||
/** No synchronization */ | /** No synchronization */ | |||
LIBUSB_ISO_SYNC_TYPE_NONE = 0, | LIBUSB_ISO_SYNC_TYPE_NONE = 0, | |||
/** Asynchronous */ | /** Asynchronous */ | |||
LIBUSB_ISO_SYNC_TYPE_ASYNC = 1, | LIBUSB_ISO_SYNC_TYPE_ASYNC = 1, | |||
/** Adaptive */ | /** Adaptive */ | |||
LIBUSB_ISO_SYNC_TYPE_ADAPTIVE = 2, | LIBUSB_ISO_SYNC_TYPE_ADAPTIVE = 2, | |||
/** Synchronous */ | /** Synchronous */ | |||
LIBUSB_ISO_SYNC_TYPE_SYNC = 3, | LIBUSB_ISO_SYNC_TYPE_SYNC = 3 | |||
}; | }; | |||
#define LIBUSB_ISO_USAGE_TYPE_MASK 0x30 | #define LIBUSB_ISO_USAGE_TYPE_MASK 0x30 | |||
/** \ingroup desc | /** \ingroup desc | |||
* Usage type for isochronous endpoints. Values for bits 4:5 of the | * Usage type for isochronous endpoints. Values for bits 4:5 of the | |||
* \ref libusb_endpoint_descriptor::bmAttributes "bmAttributes" field in | * \ref libusb_endpoint_descriptor::bmAttributes "bmAttributes" field in | |||
* libusb_endpoint_descriptor. | * libusb_endpoint_descriptor. | |||
*/ | */ | |||
enum libusb_iso_usage_type { | enum libusb_iso_usage_type { | |||
/** Data endpoint */ | /** Data endpoint */ | |||
LIBUSB_ISO_USAGE_TYPE_DATA = 0, | LIBUSB_ISO_USAGE_TYPE_DATA = 0, | |||
/** Feedback endpoint */ | /** Feedback endpoint */ | |||
LIBUSB_ISO_USAGE_TYPE_FEEDBACK = 1, | LIBUSB_ISO_USAGE_TYPE_FEEDBACK = 1, | |||
/** Implicit feedback Data endpoint */ | /** Implicit feedback Data endpoint */ | |||
LIBUSB_ISO_USAGE_TYPE_IMPLICIT = 2, | LIBUSB_ISO_USAGE_TYPE_IMPLICIT = 2 | |||
}; | }; | |||
/** \ingroup desc | /** \ingroup desc | |||
* A structure representing the standard USB device descriptor. This | * A structure representing the standard USB device descriptor. This | |||
* descriptor is documented in section 9.6.1 of the USB 2.0 specification. | * descriptor is documented in section 9.6.1 of the USB 2.0 specification. | |||
* All multiple-byte fields are represented in host-endian format. | * All multiple-byte fields are represented in host-endian format. | |||
*/ | */ | |||
struct libusb_device_descriptor { | struct libusb_device_descriptor { | |||
/** Size of this descriptor (in bytes) */ | /** Size of this descriptor (in bytes) */ | |||
uint8_t bLength; | uint8_t bLength; | |||
skipping to change at line 631 | skipping to change at line 631 | |||
/** System call interrupted (perhaps due to signal) */ | /** System call interrupted (perhaps due to signal) */ | |||
LIBUSB_ERROR_INTERRUPTED = -10, | LIBUSB_ERROR_INTERRUPTED = -10, | |||
/** Insufficient memory */ | /** Insufficient memory */ | |||
LIBUSB_ERROR_NO_MEM = -11, | LIBUSB_ERROR_NO_MEM = -11, | |||
/** Operation not supported or unimplemented on this platform */ | /** Operation not supported or unimplemented on this platform */ | |||
LIBUSB_ERROR_NOT_SUPPORTED = -12, | LIBUSB_ERROR_NOT_SUPPORTED = -12, | |||
/** Other error */ | /** Other error */ | |||
LIBUSB_ERROR_OTHER = -99, | LIBUSB_ERROR_OTHER = -99 | |||
}; | }; | |||
/** \ingroup asyncio | /** \ingroup asyncio | |||
* Transfer status codes */ | * Transfer status codes */ | |||
enum libusb_transfer_status { | enum libusb_transfer_status { | |||
/** Transfer completed without error. Note that this does not indica te | /** Transfer completed without error. Note that this does not indica te | |||
* that the entire amount of requested data was transferred. */ | * that the entire amount of requested data was transferred. */ | |||
LIBUSB_TRANSFER_COMPLETED, | LIBUSB_TRANSFER_COMPLETED, | |||
/** Transfer failed */ | /** Transfer failed */ | |||
skipping to change at line 658 | skipping to change at line 658 | |||
LIBUSB_TRANSFER_CANCELLED, | LIBUSB_TRANSFER_CANCELLED, | |||
/** For bulk/interrupt endpoints: halt condition detected (endpoint | /** For bulk/interrupt endpoints: halt condition detected (endpoint | |||
* stalled). For control endpoints: control request not supported. * / | * stalled). For control endpoints: control request not supported. * / | |||
LIBUSB_TRANSFER_STALL, | LIBUSB_TRANSFER_STALL, | |||
/** Device was disconnected */ | /** Device was disconnected */ | |||
LIBUSB_TRANSFER_NO_DEVICE, | LIBUSB_TRANSFER_NO_DEVICE, | |||
/** Device sent more data than requested */ | /** Device sent more data than requested */ | |||
LIBUSB_TRANSFER_OVERFLOW, | LIBUSB_TRANSFER_OVERFLOW | |||
}; | }; | |||
/** \ingroup asyncio | /** \ingroup asyncio | |||
* libusb_transfer.flags values */ | * libusb_transfer.flags values */ | |||
enum libusb_transfer_flags { | enum libusb_transfer_flags { | |||
/** Report short frames as errors */ | /** Report short frames as errors */ | |||
LIBUSB_TRANSFER_SHORT_NOT_OK = 1<<0, | LIBUSB_TRANSFER_SHORT_NOT_OK = 1<<0, | |||
/** Automatically free() transfer buffer during libusb_free_transfer () */ | /** Automatically free() transfer buffer during libusb_free_transfer () */ | |||
LIBUSB_TRANSFER_FREE_BUFFER = 1<<1, | LIBUSB_TRANSFER_FREE_BUFFER = 1<<1, | |||
/** Automatically call libusb_free_transfer() after callback returns . | /** Automatically call libusb_free_transfer() after callback returns . | |||
* If this flag is set, it is illegal to call libusb_free_transfer() | * 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 | * from your transfer callback, as this will result in a double-free | |||
* when this flag is acted upon. */ | * when this flag is acted upon. */ | |||
LIBUSB_TRANSFER_FREE_TRANSFER = 1<<2, | LIBUSB_TRANSFER_FREE_TRANSFER = 1<<2 | |||
}; | }; | |||
/** \ingroup asyncio | /** \ingroup asyncio | |||
* Isochronous packet descriptor. */ | * Isochronous packet descriptor. */ | |||
struct libusb_iso_packet_descriptor { | struct libusb_iso_packet_descriptor { | |||
/** Length of data to request in this packet */ | /** Length of data to request in this packet */ | |||
unsigned int length; | unsigned int length; | |||
/** Amount of data that was actually transferred */ | /** Amount of data that was actually transferred */ | |||
unsigned int actual_length; | unsigned int actual_length; | |||
End of changes. 12 change blocks. | ||||
12 lines changed or deleted | 12 lines changed or added | |||