Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 92 lines (79 sloc) 1.69 kb
1ca9c1a @gregkh create device.c for all usb device stuff
authored
1 #ifndef _USB_H
2 #define _USB_H
3
1fbed1e @gregkh remove ccan stuff
authored
4 #include "short_types.h"
f5f64b5 @gregkh start with a usb.h for the device and interface
authored
5
91422b8 @gregkh hook up the interfaces to the devices
authored
6 struct usb_endpoint {
7 struct list_head list;
8 char *bEndpointAddress;
9 char *bInterval;
10 char *bLength;
11 char *bmAttributes;
12 char *direction;
13 char *type;
14 char *wMaxPacketSize;
15 };
16
17 struct usb_config {
18 struct list_head list;
19 u8 bLength;
20 u8 bDescriptorType;
21 u16 wTotalLength;
22 u8 bNumInterfaces;
23 u8 bConfigurationValue;
24 u8 iConfiguration;
25 u8 bmAttributes;
26 u8 bMaxPower;
27 };
f5f64b5 @gregkh start with a usb.h for the device and interface
authored
28
29 struct usb_interface {
30 struct list_head list;
0990f74 @gregkh add way to create any endpoint
authored
31 struct list_head endpoints;
f5f64b5 @gregkh start with a usb.h for the device and interface
authored
32 unsigned int configuration;
33 unsigned int ifnum;
34
0990f74 @gregkh add way to create any endpoint
authored
35 char *sysname;
2899dc0 @gregkh remove some const nonsense
authored
36 char *bAlternateSetting;
37 char *bInterfaceClass;
38 char *bInterfaceNumber;
39 char *bInterfaceProtocol;
40 char *bInterfaceSubClass;
41 char *bNumEndpoints;
f5f64b5 @gregkh start with a usb.h for the device and interface
authored
42
43 char *name;
44 char *driver;
45 };
46
f6581d3 @gregkh add device_qualifier logic
authored
47 struct usb_device_qualifier {
48 char *bLength;
49 char *bDescriptorType;
50 char *bcdUSB;
51 char *bDeviceClass;
52 char *bDeviceSubClass;
53 char *bDeviceProtocol;
54 char *bMaxPacketSize0;
55 char *bNumConfigurations;
56 };
57
f5f64b5 @gregkh start with a usb.h for the device and interface
authored
58 struct usb_device {
59 struct list_head list; /* connect devices independant of the bus */
3dcdc62 @gregkh add endpoint 0 logic
authored
60 struct list_head interfaces;
f5f64b5 @gregkh start with a usb.h for the device and interface
authored
61
2899dc0 @gregkh remove some const nonsense
authored
62 char *idProduct;
63 char *idVendor;
64 char *busnum;
65 char *devnum;
66 char *maxchild;
67 char *quirks;
68 char *speed;
69 char *version;
f5f64b5 @gregkh start with a usb.h for the device and interface
authored
70
2899dc0 @gregkh remove some const nonsense
authored
71 char *bConfigurationValue;
72 char *bDeviceClass;
73 char *bDeviceProtocol;
74 char *bDeviceSubClass;
75 char *bNumConfigurations;
76 char *bNumInterfaces;
77 char *bmAttributes;
78 char *bMaxPacketSize0;
79 char *bMaxPower;
80 char *manufacturer;
81 char *bcdDevice;
82 char *product;
83 char *serial;
f5f64b5 @gregkh start with a usb.h for the device and interface
authored
84
3dcdc62 @gregkh add endpoint 0 logic
authored
85 struct usb_endpoint *ep0;
f6581d3 @gregkh add device_qualifier logic
authored
86 struct usb_device_qualifier *qualifier;
f5f64b5 @gregkh start with a usb.h for the device and interface
authored
87 char *name;
44b6689 @gregkh more usb attributes added.
authored
88 char *driver; /* always "usb" but hey, it's nice to be complete */
f5f64b5 @gregkh start with a usb.h for the device and interface
authored
89 };
90
1ca9c1a @gregkh create device.c for all usb device stuff
authored
91 #endif /* #define _USB_H */
Something went wrong with that request. Please try again.