diff -Nuar --exclude '*.rej' --exclude '*.orig' libusb-0.1.12.orig/usb.h.in libusb-0.1.12/usb.h.in
--- libusb-0.1.12.orig/usb.h.in	2009-11-11 07:57:27.335948692 +0000
+++ libusb-0.1.12/usb.h.in	2009-11-11 08:00:11.391786398 +0000
@@ -13,8 +13,10 @@
 
 #include <unistd.h>
 #include <stdlib.h>
+#include <stdint.h>
 #include <limits.h>
 
+#include <sys/param.h>
 #include <dirent.h>
 
 #if ! @DEFINE_USB_HID_DESCRIPTOR@ && defined(__FreeBSD__)
@@ -70,27 +72,27 @@
 
 /* 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];
 };
 
 #if ! @DEFINE_USB_HID_DESCRIPTOR@ && defined(__FreeBSD__)
 /* 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; */
 	/* ... */
 };
 #endif
@@ -98,14 +100,14 @@
 /* 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;
@@ -123,15 +125,15 @@
 /* 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;
 
@@ -149,14 +151,14 @@
 /* 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;
 
@@ -166,28 +168,28 @@
 
 /* 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;
 };
 
 /*
@@ -258,7 +260,7 @@
 
   void *dev;		/* Darwin support */
 
-  u_int8_t devnum;
+  uint8_t devnum;
 
   unsigned char num_children;
   struct usb_device **children;
@@ -270,7 +272,7 @@
   char dirname[PATH_MAX + 1];
 
   struct usb_device *devices;
-  u_int32_t location;
+  uint32_t location;
 
   struct usb_device *root_dev;
 };
