libusb.h | libusb.h | |||
---|---|---|---|---|
skipping to change at line 43 | skipping to change at line 43 | |||
#define _SSIZE_T_DEFINED | #define _SSIZE_T_DEFINED | |||
#undef ssize_t | #undef ssize_t | |||
#ifdef _WIN64 | #ifdef _WIN64 | |||
typedef __int64 ssize_t; | typedef __int64 ssize_t; | |||
#else | #else | |||
typedef int ssize_t; | typedef int ssize_t; | |||
#endif /* _WIN64 */ | #endif /* _WIN64 */ | |||
#endif /* _SSIZE_T_DEFINED */ | #endif /* _SSIZE_T_DEFINED */ | |||
#endif /* _MSC_VER */ | #endif /* _MSC_VER */ | |||
/* stdint.h is also not usually available on MS */ | /* stdint.h is not available on older MSVC */ | |||
#if defined(_MSC_VER) && (_MSC_VER < 1600) && (!defined(_STDINT)) && (!defi ned(_STDINT_H)) | #if defined(_MSC_VER) && (_MSC_VER < 1600) && (!defined(_STDINT)) && (!defi ned(_STDINT_H)) | |||
typedef unsigned __int8 uint8_t; | typedef unsigned __int8 uint8_t; | |||
typedef unsigned __int16 uint16_t; | typedef unsigned __int16 uint16_t; | |||
typedef unsigned __int32 uint32_t; | typedef unsigned __int32 uint32_t; | |||
#else | #else | |||
#include <stdint.h> | #include <stdint.h> | |||
#endif | #endif | |||
#if !defined(_WIN32_WCE) | ||||
#include <sys/types.h> | #include <sys/types.h> | |||
#include <time.h> | #endif | |||
#include <limits.h> | ||||
#if defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__) | #if defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__) | |||
#include <sys/time.h> | #include <sys/time.h> | |||
#endif | #endif | |||
#include <time.h> | ||||
#include <limits.h> | ||||
/* 'interface' might be defined as a macro on Windows, so we need to | /* 'interface' might be defined as a macro on Windows, so we need to | |||
* undefine it so as not to break the current libusbx API, because | * undefine it so as not to break the current libusbx API, because | |||
* libusb_config_descriptor has an 'interface' member | * libusb_config_descriptor has an 'interface' member | |||
* As this can be problematic if you include windows.h after libusb.h | * As this can be problematic if you include windows.h after libusb.h | |||
* in your sources, we force windows.h to be included first. */ | * in your sources, we force windows.h to be included first. */ | |||
#if defined(_WIN32) || defined(__CYGWIN__) | #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) | |||
#include <windows.h> | #include <windows.h> | |||
#if defined(interface) | #if defined(interface) | |||
#undef interface | #undef interface | |||
#endif | #endif | |||
#if !defined(__CYGWIN__) | ||||
#include <winsock.h> | ||||
#endif | ||||
#endif | #endif | |||
/** \def LIBUSB_CALL | /** \def LIBUSB_CALL | |||
* \ingroup misc | * \ingroup misc | |||
* libusbx's Windows calling convention. | * libusbx's Windows calling convention. | |||
* | * | |||
* Under Windows, the selection of available compilers and configurations | * Under Windows, the selection of available compilers and configurations | |||
* means that, unlike other platforms, there is not <em>one true calling | * means that, unlike other platforms, there is not <em>one true calling | |||
* convention</em> (calling convention: the manner in which parameters are | * convention</em> (calling convention: the manner in which parameters are | |||
* passed to funcions in the generated assembly code). | * passed to funcions in the generated assembly code). | |||
skipping to change at line 104 | skipping to change at line 110 | |||
* means that you can apply it to your code without worrying about | * means that you can apply it to your code without worrying about | |||
* cross-platform compatibility. | * cross-platform compatibility. | |||
*/ | */ | |||
/* LIBUSB_CALL must be defined on both definition and declaration of libusb x | /* LIBUSB_CALL must be defined on both definition and declaration of libusb x | |||
* functions. You'd think that declaration would be enough, but cygwin will | * functions. You'd think that declaration would be enough, but cygwin will | |||
* complain about conflicting types unless both are marked this way. | * complain about conflicting types unless both are marked this way. | |||
* The placement of this macro is important too; it must appear after the | * The placement of this macro is important too; it must appear after the | |||
* return type, before the function name. See internal documentation for | * return type, before the function name. See internal documentation for | |||
* API_EXPORTED. | * API_EXPORTED. | |||
*/ | */ | |||
#if defined(_WIN32) || defined(__CYGWIN__) | #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) | |||
#define LIBUSB_CALL WINAPI | #define LIBUSB_CALL WINAPI | |||
#else | #else | |||
#define LIBUSB_CALL | #define LIBUSB_CALL | |||
#endif | #endif | |||
/** \def LIBUSBX_API_VERSION | /** \def LIBUSBX_API_VERSION | |||
* \ingroup misc | * \ingroup misc | |||
* libusbx's API version. | * libusbx's API version. | |||
* | * | |||
* Since version 1.0.13, to help with feature detection, libusbx defines | * Since version 1.0.13, to help with feature detection, libusbx defines | |||
skipping to change at line 133 | skipping to change at line 139 | |||
* // Use one of the newer features from the libusbx API | * // Use one of the newer features from the libusbx API | |||
* #endif | * #endif | |||
* \endcode | * \endcode | |||
* | * | |||
* Another feature of LIBUSBX_API_VERSION is that it can be used to detect | * Another feature of LIBUSBX_API_VERSION is that it can be used to detect | |||
* whether you are compiling against the libusb or the libusbx library. | * whether you are compiling against the libusb or the libusbx library. | |||
* | * | |||
* Internally, LIBUSBX_API_VERSION is defined as follows: | * Internally, LIBUSBX_API_VERSION is defined as follows: | |||
* (libusbx major << 24) | (libusbx minor << 16) | (16 bit incremental) | * (libusbx major << 24) | (libusbx minor << 16) | (16 bit incremental) | |||
*/ | */ | |||
#define LIBUSBX_API_VERSION 0x010000FF | #define LIBUSBX_API_VERSION 0x01000101 | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/** \def libusb_cpu_to_le16 | /** \def libusb_cpu_to_le16 | |||
* \ingroup misc | * \ingroup misc | |||
* Convert a 16-bit value from host-endian to little-endian format. On | * Convert a 16-bit value from host-endian to little-endian format. On | |||
* little endian systems, this function does nothing. On big endian systems , | * little endian systems, this function does nothing. On big endian systems , | |||
* the bytes are swapped. | * the bytes are swapped. | |||
skipping to change at line 990 | skipping to change at line 996 | |||
; | ; | |||
}; | }; | |||
/** \ingroup misc | /** \ingroup misc | |||
* Capabilities supported by this instance of libusb. Test if the loaded | * Capabilities supported by this instance of libusb. Test if the loaded | |||
* library supports a given capability by calling | * library supports a given capability by calling | |||
* \ref libusb_has_capability(). | * \ref libusb_has_capability(). | |||
*/ | */ | |||
enum libusb_capability { | enum libusb_capability { | |||
/** The libusb_has_capability() API is available. */ | /** The libusb_has_capability() API is available. */ | |||
LIBUSB_CAP_HAS_CAPABILITY = 0, | LIBUSB_CAP_HAS_CAPABILITY = 0x0000, | |||
/** Hotplug support is available. */ | ||||
LIBUSB_CAP_HAS_HOTPLUG = 0x0001, | ||||
/** The library can access HID devices without requiring user interv | ||||
ention. | ||||
* Note that before being able to actually access an HID device, you | ||||
may | ||||
* still have to call additional libusbx 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 kerne | ||||
l */ | ||||
LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER = 0x0101 | ||||
}; | }; | |||
/** \ingroup lib | /** \ingroup lib | |||
* Log message levels. | * Log message levels. | |||
* - LIBUSB_LOG_LEVEL_NONE (0) : no messages ever printed by the librar y (default) | * - LIBUSB_LOG_LEVEL_NONE (0) : no messages ever printed by the librar y (default) | |||
* - LIBUSB_LOG_LEVEL_ERROR (1) : error messages are printed to stderr | * - 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_WARNING (2) : warning and error messages are printed to stderr | |||
* - LIBUSB_LOG_LEVEL_INFO (3) : informational messages are printed to stdout, warning | * - LIBUSB_LOG_LEVEL_INFO (3) : informational messages are printed to stdout, warning | |||
* and error messages are printed to stderr | * and error messages are printed to stderr | |||
* - LIBUSB_LOG_LEVEL_DEBUG (4) : debug and informational messages are p rinted to stdout, | * - LIBUSB_LOG_LEVEL_DEBUG (4) : debug and informational messages are p rinted to stdout, | |||
End of changes. 9 change blocks. | ||||
7 lines changed or deleted | 26 lines changed or added | |||