|
|
@@ -0,0 +1,185 @@
|
|
|
+--- a/libusb/usb.h
|
|
|
++++ b/libusb/usb.h
|
|
|
+@@ -27,6 +27,7 @@
|
|
|
+
|
|
|
+ #include <unistd.h>
|
|
|
+ #include <stdlib.h>
|
|
|
++#include <stdint.h>
|
|
|
+ #include <limits.h>
|
|
|
+
|
|
|
+ #include <dirent.h>
|
|
|
+@@ -78,40 +79,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 +130,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 +156,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 +173,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 +255,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 +267,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;
|
|
|
+ };
|