1 #ifndef _INTERFACE_ADAPTER_H
2 #define _INTERFACE_ADAPTER_H
4 typedef struct _BULK_ENDP_IN
8 UCHAR bulk_in_endpointAddr
;
10 }BULK_ENDP_IN
, *PBULK_ENDP_IN
;
13 typedef struct _BULK_ENDP_OUT
15 UCHAR bulk_out_buffer
;
17 UCHAR bulk_out_endpointAddr
;
19 //this is used when int out endpoint is used as bulk out end point
20 UCHAR int_out_interval
;
21 }BULK_ENDP_OUT
, *PBULK_ENDP_OUT
;
23 typedef struct _INTR_ENDP_IN
27 UCHAR int_in_endpointAddr
;
28 UCHAR int_in_interval
;
30 }INTR_ENDP_IN
, *PINTR_ENDP_IN
;
32 typedef struct _INTR_ENDP_OUT
36 UCHAR int_out_endpointAddr
;
37 UCHAR int_out_interval
;
39 }INTR_ENDP_OUT
, *PINTR_ENDP_OUT
;
42 typedef struct _USB_TCB
50 typedef struct _USB_RCB
58 //This is the interface specific Sub-Adapter
61 typedef struct _S_INTERFACE_ADAPTER
63 struct usb_device
* udev
;
64 struct usb_interface
* interface
;
66 /* Bulk endpoint in info */
68 /* Bulk endpoint out info */
69 BULK_ENDP_OUT sBulkOut
;
70 /* Interrupt endpoint in info */
72 /* Interrupt endpoint out info */
73 INTR_ENDP_OUT sIntrOut
;
77 ULONG ulInterruptData
[2];
79 struct urb
*psInterruptUrb
;
81 USB_TCB asUsbTcb
[MAXIMUM_USB_TCB
];
82 USB_RCB asUsbRcb
[MAXIMUM_USB_RCB
];
88 PMINI_ADAPTER psAdapter
;
90 BOOLEAN bHighSpeedDevice
;
93 BOOLEAN bPreparingForBusSuspend
;
94 struct work_struct usbSuspendWork
;
95 }S_INTERFACE_ADAPTER
,*PS_INTERFACE_ADAPTER
;