|
|
@ -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; |
|
|
|
}; |