+++ /dev/null
-From 87adda6abc3467ede45a6d2a87df2b9efdf5bb33 Mon Sep 17 00:00:00 2001
-From: Nathan Hjelm <hjelmn@me.com>
-Date: Fri, 9 Oct 2015 15:03:10 -0600
-Subject: [PATCH] Use C99 standard fixed width integer types in usb.h
-
-This patch modifies the integer types in usb.h of the form u_int* to the
-C99 standard uint* types.
-
-Based on patch from Gwenhael Goavec-Merou.
-
-Backported from upstream commit
-https://github.com/libusb/libusb-compat-0.1/commit/2e9b6bbebb7cf1ef0095516ec6d5203deb3822e8.
-
-Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
-Signed-off-by: Nathan Hjelm <hjelmn@me.com>
-Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
----
- libusb/usb.h | 130 ++++++++++++++++++++++++++++++++---------------------------
- 1 file changed, 70 insertions(+), 60 deletions(-)
-
-diff --git a/libusb/usb.h b/libusb/usb.h
-index 84e730f..d2c30aa 100644
---- a/libusb/usb.h
-+++ b/libusb/usb.h
-@@ -2,6 +2,7 @@
- * Prototypes, structure definitions and macros.
- *
- * Copyright (c) 2000-2003 Johannes Erdfelt <johannes@erdfelt.com>
-+ * Copyright (c) 2015 Nathan Hjelm <hjelmn@cs.unm.edu>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
-@@ -22,8 +23,8 @@
- * distribution for details.
- */
-
--#ifndef __USB_H__
--#define __USB_H__
-+#ifndef USB_H
-+#define USB_H
-
- #include <unistd.h>
- #include <stdlib.h>
-@@ -31,6 +32,15 @@
-
- #include <dirent.h>
-
-+/* 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 <stdint.h>
-+#endif
-+
- /*
- * USB spec information
- *
-@@ -78,40 +88,40 @@
-
- /* All standard descriptors have these 2 fields in common */
- struct usb_descriptor_header {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
- };
-
- /* String descriptor */
- struct usb_string_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t wData[1];
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t wData[1];
- };
-
- /* HID descriptor */
- struct usb_hid_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t bcdHID;
-- u_int8_t bCountryCode;
-- u_int8_t bNumDescriptors;
-- /* u_int8_t bReportDescriptorType; */
-- /* u_int16_t wDescriptorLength; */
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t bcdHID;
-+ uint8_t bCountryCode;
-+ uint8_t bNumDescriptors;
-+ /* uint8_t bReportDescriptorType; */
-+ /* uint16_t wDescriptorLength; */
- /* ... */
- };
-
- /* Endpoint descriptor */
- #define USB_MAXENDPOINTS 32
- struct usb_endpoint_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int8_t bEndpointAddress;
-- u_int8_t bmAttributes;
-- u_int16_t wMaxPacketSize;
-- u_int8_t bInterval;
-- u_int8_t bRefresh;
-- u_int8_t bSynchAddress;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint8_t bEndpointAddress;
-+ uint8_t bmAttributes;
-+ uint16_t wMaxPacketSize;
-+ uint8_t bInterval;
-+ uint8_t bRefresh;
-+ uint8_t bSynchAddress;
-
- unsigned char *extra; /* Extra descriptors */
- int extralen;
-@@ -129,15 +139,15 @@ struct usb_endpoint_descriptor {
- /* Interface descriptor */
- #define USB_MAXINTERFACES 32
- struct usb_interface_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int8_t bInterfaceNumber;
-- u_int8_t bAlternateSetting;
-- u_int8_t bNumEndpoints;
-- u_int8_t bInterfaceClass;
-- u_int8_t bInterfaceSubClass;
-- u_int8_t bInterfaceProtocol;
-- u_int8_t iInterface;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint8_t bInterfaceNumber;
-+ uint8_t bAlternateSetting;
-+ uint8_t bNumEndpoints;
-+ uint8_t bInterfaceClass;
-+ uint8_t bInterfaceSubClass;
-+ uint8_t bInterfaceProtocol;
-+ uint8_t iInterface;
-
- struct usb_endpoint_descriptor *endpoint;
-
-@@ -155,14 +165,14 @@ struct usb_interface {
- /* Configuration descriptor information.. */
- #define USB_MAXCONFIG 8
- struct usb_config_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t wTotalLength;
-- u_int8_t bNumInterfaces;
-- u_int8_t bConfigurationValue;
-- u_int8_t iConfiguration;
-- u_int8_t bmAttributes;
-- u_int8_t MaxPower;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t wTotalLength;
-+ uint8_t bNumInterfaces;
-+ uint8_t bConfigurationValue;
-+ uint8_t iConfiguration;
-+ uint8_t bmAttributes;
-+ uint8_t MaxPower;
-
- struct usb_interface *interface;
-
-@@ -172,28 +182,28 @@ struct usb_config_descriptor {
-
- /* Device descriptor */
- struct usb_device_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t bcdUSB;
-- u_int8_t bDeviceClass;
-- u_int8_t bDeviceSubClass;
-- u_int8_t bDeviceProtocol;
-- u_int8_t bMaxPacketSize0;
-- u_int16_t idVendor;
-- u_int16_t idProduct;
-- u_int16_t bcdDevice;
-- u_int8_t iManufacturer;
-- u_int8_t iProduct;
-- u_int8_t iSerialNumber;
-- u_int8_t bNumConfigurations;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t bcdUSB;
-+ uint8_t bDeviceClass;
-+ uint8_t bDeviceSubClass;
-+ uint8_t bDeviceProtocol;
-+ uint8_t bMaxPacketSize0;
-+ uint16_t idVendor;
-+ uint16_t idProduct;
-+ uint16_t bcdDevice;
-+ uint8_t iManufacturer;
-+ uint8_t iProduct;
-+ uint8_t iSerialNumber;
-+ uint8_t bNumConfigurations;
- };
-
- struct usb_ctrl_setup {
-- u_int8_t bRequestType;
-- u_int8_t bRequest;
-- u_int16_t wValue;
-- u_int16_t wIndex;
-- u_int16_t wLength;
-+ uint8_t bRequestType;
-+ uint8_t bRequest;
-+ uint16_t wValue;
-+ uint16_t wIndex;
-+ uint16_t wLength;
- };
-
- /*
-@@ -254,7 +264,7 @@ struct usb_device {
-
- void *dev; /* Darwin support */
-
-- u_int8_t devnum;
-+ uint8_t devnum;
-
- unsigned char num_children;
- struct usb_device **children;
-@@ -266,7 +276,7 @@ struct usb_bus {
- char dirname[PATH_MAX + 1];
-
- struct usb_device *devices;
-- u_int32_t location;
-+ uint32_t location;
-
- struct usb_device *root_dev;
- };
---
-2.9.3
-